nvim-dap-ui 使用教程
nvim-dap-uiA UI for nvim-dap项目地址:https://gitcode.com/gh_mirrors/nv/nvim-dap-ui
项目介绍
nvim-dap-ui
是一个为 nvim-dap
提供用户界面的插件。它提供了一个开箱即用的配置,使得在 Neovim 中进行调试变得更加直观和方便。该插件通过各种元素(如文件、终端、控制台等)来展示调试信息,并支持自定义配置。
项目快速启动
安装
使用你喜欢的包管理器安装 nvim-dap-ui
及其依赖:
-
dein:
call dein#add("mfussenegger/nvim-dap") call dein#add("nvim-neotest/nvim-nio") call dein#add("rcarriga/nvim-dap-ui")
-
vim-plug:
Plug 'mfussenegger/nvim-dap' Plug 'nvim-neotest/nvim-nio' Plug 'rcarriga/nvim-dap-ui'
-
packer.nvim:
use { "rcarriga/nvim-dap-ui", requires = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" } }
配置
在 Neovim 配置文件中添加以下内容以启用 nvim-dap-ui
:
require("dapui").setup()
使用
启动调试会话并打开 nvim-dap-ui
:
require("dapui").open()
应用案例和最佳实践
案例一:Go 语言调试
在 Go 项目中使用 nvim-dap-ui
进行调试:
-
安装
nvim-dap-go
插件:Plug 'leoluz/nvim-dap-go'
-
配置调试会话:
local dap = require("dap") dap.configurations.go = { { type = "go", name = "Debug", request = "launch", program = "${fileDirname}" } }
-
设置快捷键:
vim.keymap.set("n", "<F5>", function() require("dap").continue() end) vim.keymap.set("n", "<F10>", function() require("dap").step_over() end) vim.keymap.set("n", "<F11>", function() require("dap").step_into() end) vim.keymap.set("n", "<F12>", function() require("dap").step_out() end) vim.keymap.set("n", "<Leader>b", function() require("dap").toggle_breakpoint() end)
最佳实践
-
自动打开和关闭 UI:
local dap = require("dap") local dapui = require("dapui") dap.listeners.before.attach["dapui_config"] = function() dapui.open() end dap.listeners.before.terminate["dapui_config"] = function() dapui.close() end
-
自定义 UI 元素:
require("dapui").setup({ elements = { { id = "scopes", size = 0.25 }, { id = "breakpoints", size = 0.25 }, { id = "stacks", size = 0.25 }, { id = "watches", size = 0.25 } } })
典型生态项目
- nvim-dap: 核心调试插件,提供调试功能。
- nvim-neotest: 测试框架,与
nvim-dap
集成,提供测试功能。 - nvim-dap-virtual-text: 在
nvim-dap-uiA UI for nvim-dap项目地址:https://gitcode.com/gh_mirrors/nv/nvim-dap-ui