关于-nvim-dap
参考 h dap.txt
.
nvim-dap 是一个客户端 (client), 需要安装是一个 debug adapter (适配器), 来和指定语言的 debugger 对接 (server).
nvim-dap 和 debug adapter 之间通过 Debug Adapter Protocol 交流.
为了开始 debug, 每个语言需要配置两个东西:
- a debug adapter (dap-adapter)
- 如何将 debugger 连接到应用 (dap-configuration)
Debug adapter 的配置和安装指导, 见 这个网站
dap-adapter 条目
dap-adapter 可以通过 nvim 下载, 也可以直接连接到一个已存在的上.
用 dap.adapters
这个表来配置 nvim 的 debug adapters.
如, 配置 python 的 debug adapter:
1 |
|
type
包括:
- executable, 暗示需要下载, 文档中还有其相关的命令
- server, 暗示直接连接已存在的, 文档中还有其相关的命
dap-configuration 条目
配置是为了, 启动和连接 debug adapter.
配置写在 dap.configurations
表中, 运行 dap-continue
, nvim 就会寻找当前文件类型的配置.
如, python 配置:
1 |
|
几个键字的含义:
type
, 决定使用哪个 debug adapterrequest
,attach
表明需要连接到某个程序,launch
表明需要启动一个 debugeename
, 似乎随便取
有一些特殊变量可用:
${file}
: Active filename${fileBasename}
: The current file’s basename${fileBasenameNoExtension}
: The current file’s basename without extension${fileDirname}
: The current file’s dirname${fileExtname}
: The current file’s extension${relativeFile}
: The current file relative to |getcwd()|${relativeFileDirname}
: The current file’s dirname relative to |getcwd()|${workspaceFolder}
: The current working directory of Neovim${workspaceFolderBasename}
: The name of the folder opened in Neovim${command:pickProcess}
: Open dialog to pick process using |vim.ui.select|${env:Name}
: Environment variable namedName
, for example:${env:HOME}
.
参考网页
nvim-dap-ui
插件为 nvim-dap
提供了 UI 界面. :h dapui.setup()
可查看配置.
UI 界面的 toggle 是 require("dapui").toggle()
打开 Floating Elements 为 require("dapui").float_element(<element ID>, <optional setting>)
显示值: require("dapui").eval(<expression>)
关于-nvim-dap
http://example.com/2023/01/29/关于-nvim-dap/