Передумови Ви знаєте, як налаштовувати та конфігурувати плагіни neovim. Ви використовуєте UNIX-подібну ОС Покрокова інструкція Встановіть наступні плагіни neovim nvim-dap nvim-dap-ui -- Приклад з packer.nvim use("mfussenegger/nvim-dap") use { "rcarriga/nvim-dap-ui", requires = {"mfussenegger/nvim-dap"} } Встановіть vscode-lldb
Завантажте файл, специфічний для вашої системи https://github.com/vadimcn/vscode-lldb/releases Розпакуйте його утилітою unzip. У моєму випадку я розпакував у ~/Sources/lldb Результат виконання unzip codelldb-x86_64-linux.vsix у ~/Sources/lldb: Виконуваний файл codelldb доступний за шляхом: ~/Sources/lldb/extension/adapter Налаштуйте nvim-dap у вашому init.lua
local dap = require("dap") dap.adapters.codelldb = { type = 'server', port = "${port}", executable = { -- Змініть це на ваш шлях! command = '/home/kurotych/Sources/lldb/extension/adapter/codelldb', args = {"--port", "${port}"}, } } dap.configurations.rust= { { name = "Launch file", type = "codelldb", request = "launch", program = function() return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') end, cwd = '${workspaceFolder}', stopOnEntry = false, }, } require("dapui").setup({}) Відкрийте будь-яку rust програму та виконайте в командному рядку neovim :lua require("dap").toggle_breakpoint() там, де хочете зупинити програму Скріншот Запустіть :lua require("dap").continue() у командному рядку neovim для початку відладки Скріншот Запустіть :lua require("dapui").open() Скріншот Ви можете переміщатися по вікнах відладки за допомогою миші. Виконайте :lua require("dapui").close() - щоб закрити всі вікна відладки Гарячі клавіші local dap = require('dap') vim.keymap.set('n', '<F5>', function() dap.continue() end) vim.keymap.set('n', '<F10>', function() dap.step_over() end) vim.keymap.set('n', '<F11>', function() dap.step_into() end) vim.keymap.set('n', '<F12>', function() dap.step_out() end) vim.keymap.set('n', '<Leader>b', function() dap.toggle_breakpoint() end) vim.keymap.set('n', '<Leader>dl', function() dap.run_last() end) vim.keymap.set('n', '<Leader>df', function() require("dapui").float_element('scopes', { enter = true }) end) Додаткова інформація Ви можете знайти у репозиторіях плагінів nvim-dap та nvim-dap-ui
...