DAP(调试适配器协议)
nvim-dap
是Neovim的调试适配器协议客户端实现。 nvim-dap
允许您:
- 启动应用程序进行调试
- 附加到正在运行的应用程序并调试它们
- 设置断点并逐步执行代码
- 检查应用程序的状态
<animated-image data-catalyst="" style="box-sizing: border-box; max-width: 100%; display: inline-block;"></animated-image>
安装
- 像任何其他 Neovim 插件一样安装 nvim-dap:
git clone https://github.com/mfussenegger/nvim-dap.git ~/.config/nvim/pack/plugins/start/nvim-dap
- 或使用vim-plug:
Plug 'mfussenegger/nvim-dap'
- 或使用packer.nvim:
use 'mfussenegger/nvim-dap'
-
:helptags ALL
使用或 生成 nvim-dap 的文档:helptags <PATH-TO-PLUGIN/doc/>
支持的 Neovim 版本:
- 最新版本
- 0.8.0(推荐)
- 0.7.2
您需要为每种语言安装和配置调试适配器。看
- :help dap.txt
- 调试适配器安装wiki
:help dap-adapter
:help dap-configuration
用法
典型的调试流程包括:
- 通过设置断点
:lua require'dap'.toggle_breakpoint()
。 - 启动调试会话并通过
:lua require'dap'.continue()
. - 通过
:lua require'dap'.step_over()
和单步执行代码:lua require'dap'.step_into()
。 - 通过内置的 REPL 检查状态:
:lua require'dap'.repl.open()
或使用小部件 UI (:help dap-widgets
)
请参阅: help dap.txt和.:help dap-mapping``:help dap-api
支持的语言
理论上,应该支持存在调试适配器的所有语言。
Wiki 由社区维护。如果您的适配器工作尚未列出,请扩展 Wiki。
一些调试适配器具有特定于语言的扩展。建议在手动配置上使用它们,因为它们通常得到更好的维护。
如果 wiki 中有关调试适配器的说明不起作用,请考虑调试适配器可能在编写说明后进行了更改。您可能需要阅读调试适配器的发行说明或尝试使用旧版本。如果您发现过时的示例,请更新 wiki。
目标
-
在 Neovim 中有一个基本的调试器。
-
可扩展性和兼作 DAP 客户端库。这允许其他插件扩展调试体验。通过改进 UI 或使调试应用程序的某些部分变得更容易。
- UI/UX 扩展的例子是nvim-dap-virtual-text和nvim-dap-ui
- 语言特定扩展的示例包括nvim-jdtls和nvim-dap-python
扩展
所有已知的扩展都列在Wiki中。wiki 由社区维护。如果您构建了一个或发现了一个未列出的扩展,请添加新的扩展。
非目标
-
调试适配器安装超出范围。重新发明包管理器不是编辑器插件的业务。使用您的系统包管理器。使用尼克斯。使用 Ansible。
-
维姆支持。这不会发生。请改用vimspector。
备择方案
贡献
特征
- 启动调试适配器
- 附加到调试适配器
- 切换断点
- 有条件的断点
- 日志点
- 设置异常断点
- 越过,踏入,走出
- 后退,反向继续
- 重新开始
- 停止
- 暂停
- 评估表达式
- REPL(包括显示线程、帧和范围的命令)
网友评论