All Projects → dradtke → vim-dap

dradtke / vim-dap

Licence: other
Vim/Neovim debugger plugin providing a terminal interface to the Debug Adapter Protocol

Programming Languages

Vim Script
2826 projects
java
68154 projects - #9 most used programming language
go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to vim-dap

nvim-dap-python
An extension for nvim-dap, providing default configurations for python and methods to debug individual test methods or classes.
Stars: ✭ 70 (+62.79%)
Mutual labels:  debugger, neovim-plugin, debug-adapter-protocol
vim-easydebugger
A VIM multi-language debugger plugin
Stars: ✭ 47 (+9.3%)
Mutual labels:  debugger, vim-plugin
code runner.nvim
Neovim plugin.The best code runner you could have, it is like the one in vscode but with super powers, it manages projects like in intellij but without being slow
Stars: ✭ 234 (+444.19%)
Mutual labels:  vim-plugin, neovim-plugin
vim-counterpoint
Cycle between file counterparts in vim or neovim.
Stars: ✭ 12 (-72.09%)
Mutual labels:  vim-plugin, neovim-plugin
skim.vim
vim support for skim
Stars: ✭ 127 (+195.35%)
Mutual labels:  vim-plugin, neovim-plugin
beacon.nvim
Whenever cursor jumps some distance or moves between windows, it will flash so you can see where it is
Stars: ✭ 217 (+404.65%)
Mutual labels:  vim-plugin, neovim-plugin
42header.vim
Add and update the 42 comment header at the top of your files
Stars: ✭ 15 (-65.12%)
Mutual labels:  vim-plugin, neovim-plugin
Vimspector
vimspector - A multi-language debugging system for Vim
Stars: ✭ 2,711 (+6204.65%)
Mutual labels:  debugger, debug-adapter-protocol
vim-tips-wiki
1500+ tips downloaded from Vim Tips Wiki, parsed and formatted to look and work like native Vim help files
Stars: ✭ 56 (+30.23%)
Mutual labels:  vim-plugin, neovim-plugin
denops-gh.vim
Vim/Neovim plugin for GitHub
Stars: ✭ 27 (-37.21%)
Mutual labels:  vim-plugin, neovim-plugin
onestatus
an api to customize tmux from vim
Stars: ✭ 82 (+90.7%)
Mutual labels:  vim-plugin, neovim-plugin
stable-windows
Keeps vim windows stable on layout changes
Stars: ✭ 41 (-4.65%)
Mutual labels:  vim-plugin, neovim-plugin
vim-readme-viewer
📖 Viewing plugin's README easily like vim help
Stars: ✭ 26 (-39.53%)
Mutual labels:  vim-plugin, neovim-plugin
vim-lineletters
because letters are easier to touch type than numbers
Stars: ✭ 38 (-11.63%)
Mutual labels:  vim-plugin, neovim-plugin
qf helper.nvim
A collection of improvements for the quickfix buffer
Stars: ✭ 70 (+62.79%)
Mutual labels:  vim-plugin, neovim-plugin
auto-pairs
Vim plugin, insert or delete brackets, parentheses, and quotes in pairs
Stars: ✭ 109 (+153.49%)
Mutual labels:  vim-plugin, neovim-plugin
SimpleSnippets.vim
Simple snippet support for your Vim and Neovim
Stars: ✭ 86 (+100%)
Mutual labels:  vim-plugin, neovim-plugin
Nvim Dap
Debug Adapter Protocol client implementation for Neovim (>= 0.5)
Stars: ✭ 326 (+658.14%)
Mutual labels:  debugger, neovim-plugin
denops-docker.vim
Manage Docker in Vim/Neovim
Stars: ✭ 48 (+11.63%)
Mutual labels:  vim-plugin, neovim-plugin
bolt.nvim
⚡ Ultrafast multi-pane file manager for Neovim with fuzzy matching
Stars: ✭ 100 (+132.56%)
Mutual labels:  vim-plugin, neovim-plugin

vim-dap

vim-dap is a Vim plugin for integrating with the Debug Adapter Protocol. to provide full debugger functionality for Vim. Unlike other debugger plugins, it doesn't attempt to replicate the user interface of an IDE; instead, interaction with the debugger happens in the terminal, through a fully readline-enabled debugger console:

Neovim's LSP API appears to still be in flux, so if something isn't working, the first thing to try would be to upgrade to the latest Neovim release.

demo

Supported Languages

This plugin is intended to be as configuration-free as possible, but this section will detail existing language support and their requirements.

Java

Java requires you to be running the eclipse.jdt.ls language server with java-debug installed. The dap#run() method requires you to be using either Neovim with native LSP support, vim-lsp or LanguageClient-neovim as your client, but dap#connect() can be called manually to connect to the debug adapter if it's already running.

In order to run the language server with debug support, you will need to initialize the server with the path of the debug jar bundle. An example using settings.json:

{
  "initializationOptions": {
    "bundles": ["/path/to/java-debug.jar"]
  }
}

You will also need to add all of the jars included in the server extension for vscode-java-test. The easiest way to do that is to download it from the VSCode Marketplace:

https://vscjava.gallery.vsassets.io/_apis/public/gallery/publisher/vscjava/extension/vscode-java-test/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage

Debugger Settings

The debug settings can be customized by defining either a .vim/launch.json or .vscode/launch.json file, i.e.

{
  "javaHome": "/usr/lib/jvm/java-11-openjdk-amd64"
}

Tips

To make it easier to run Java tests, I recommend adding something like this to your .vimrc. With this in place, you can use \rb to run all tests in the current file, \rf to only run the test which your cursor is in, and \rl to re-run the most recent test.

au filetype java nmap <Leader>rb :call dap#lang#java#run_test_class()<cr>
au filetype java nmap <Leader>rf :call dap#lang#java#run_test_method()<cr>
au filetype java nmap <Leader>rl :call dap#run_last()<cr>

Go

First, make sure that you have Delve installed and that dlv is available on your PATH.

Second, the debug adapter for Go is implemented as part of vscode-go, so your system must have Node available in order for it to run (womp womp). It will be automatically downloaded on first use.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].