nvim-dap 使用教程
项目介绍
nvim-dap
是一个用于 Neovim 的调试插件,它通过集成不同的调试器,为 Neovim 提供了一个强大的调试环境。这个插件允许用户在 Neovim 中直接进行代码调试,支持多种编程语言和调试器,如 Python、JavaScript 等。
项目快速启动
安装
首先,确保你已经安装了 Neovim 和 vim-plug
。然后在你的 init.vim
或 init.lua
文件中添加以下内容:
call plug#begin('~/.config/nvim/plugged')
Plug 'mfussenegger/nvim-dap'
call plug#end()
保存并运行 :PlugInstall
命令来安装插件。
配置
以下是一个基本的配置示例,用于在 Neovim 中启动 Python 调试会话:
require('dap').setup({
adapters = {
python = {
type = 'executable',
command = 'python',
args = { '-m', 'debugpy.adapter' },
},
},
configurations = {
{
type = 'python',
request = 'launch',
name = "Launch file",
program = "${file}",
pythonPath = function()
return 'python'
end,
},
},
})
启动调试
打开一个 Python 文件,然后运行 :DapContinue
命令开始调试。
应用案例和最佳实践
调试 Python 项目
假设你有一个简单的 Python 脚本 example.py
:
def add(a, b):
return a + b
if __name__ == "__main__":
result = add(3, 4)
print(result)
你可以设置断点并开始调试:
- 在
return a + b
行设置断点:将光标移动到该行并运行:DapToggleBreakpoint
。 - 运行
:DapContinue
开始调试。 - 使用
:DapStepOver
、:DapStepInto
等命令进行单步调试。
调试 JavaScript 项目
对于 JavaScript 项目,你可以使用 nvim-dap
集成 Node.js 调试器:
require('dap').configurations.javascript = {
{
type = 'node2',
request = 'launch',
name = "Launch file",
program = "${file}",
cwd = vim.fn.getcwd(),
},
}
打开一个 JavaScript 文件并运行 :DapContinue
开始调试。
典型生态项目
nvim-dap-ui
nvim-dap-ui
是一个与 nvim-dap
配合使用的 UI 插件,它提供了更友好的调试界面,包括变量查看、调用堆栈等:
Plug 'rcarriga/nvim-dap-ui'
配置示例:
require('dapui').setup()
nvim-dap-virtual-text
nvim-dap-virtual-text
插件可以在代码旁边显示变量的当前值,方便调试时查看:
Plug 'theHamsta/nvim-dap-virtual-text'
配置示例:
require('nvim-dap-virtual-text').setup()
通过这些插件的组合使用,可以大大提升在 Neovim 中的调试体验。