This is a Neovim and Vim plugin for debugging Go applications using Delve. The project works a lot nicer on Neovim with the built-in terminal, so that's what we recommend. But it is decent to work with on Vim if you have Shougo/vimshell.vim installed.
If you like this project, please star it. If you feel even more generous, please follow @sebdah on Twitter!
main
as well as and non-main
packagesFor Neovim and Vim 8, you really only need Delve to get started.
If you wish to use the vimux support, you'd need to have this plugin as well:
Requirements for Vim 7 and earlierIf you are on Vim versions older than 8, you'll also need the following two packages:
Using vim-plug
, add the following to your init.vim
if you're on Neovim or .vimrc
, if you're on vim:
Plug 'sebdah/vim-delve'
Then reload neovim and run PlugInstall
.
DlvAddBreakpoint
Add a breakpoint at the current line. DlvAddTracepoint
Add a tracepoint at the current line. DlvAttach <pid> [flags]
Attach dlv
to a running process. DlvClearAll
Clear all the breakpoints and tracepoints in the buffer. DlvCore <bin> <dump> [flags]
Debug core dumps using dlv core
. DlvConnect host:port [flags]
Connect to a remote Delve server on the given host:port. DlvDebug [flags]
Run dlv debug
for the current session. Use this to test main
packages. DlvExec <bin> [flags]
Start dlv
on a pre-built executable. DlvRemoveBreakpoint
Remove the breakpoint at the current line. DlvRemoveTracepoint
Remove the tracepoint at the current line. DlvTest [flags]
Run dlv test
for the current session. Use this to debug non-main
packages. DlvTestCurrent [flags]
Run dlv test
for the current test or function. Use this to debug non-main
packages. DlvToggleBreakpoint
Convenience method to toggle (add or remove) a breakpoint at the current line. DlvToggleTracepoint
Convenience method to toggle (add or remove) a tracepoint at the current line. DlvVersion
Print the dlv
version. Setting Default value Comment g:delve_backend
default
Defines the backend to use with Delve. Please refer to the Delve documentation for details on what you should set this value to. g:delve_sign_group
delve
Set the sign group. g:delve_sign_priority
10 Set the sign priority. g:delve_breakpoint_sign_highlight
WarningMsg
Set the color profile for the sign. g:delve_breakpoint_sign
●
Sets the sign to use to indicate breakpoints in the gutter. g:delve_tracepoint_sign_highlight
WarningMsg
Set the color profile for the sign. g:delve_tracepoint_sign
◆
Sets the sign to use to indicate tracepoints in the gutter. g:delve_cache_path
$HOME . "/.cache/" . v:progname . "/vim-delve"
The path to where the instructions file for dlv
is stored. g:delve_instructions_file
g:delve_cache_path ."/". getpid() .".". localtime()
The instructions file name. g:delve_enable_syntax_highlighting
1
Turn syntax highlighting in the dlv
output on or off. g:delve_enable_linenr_highlighting
0
Turn line number highlighting on or off. g:delve_new_command
vnew
Control if dlv
should be opened in a vertical (vnew
), horizontal (new
), full screen window (enew
) or full screen window in new tab(tabnew
). g:delve_use_vimux
0
Sets whether to use benmills/vimux]. g:delve_project_root
Override the path to use for setting breakpoints/tracepoints.
The settings above can be set in your init.vim
like this:
let g:delve_backend = "native"
Frequently Asked Questions
Got an error about lldb-server
on Mac OS X
If you get a message like the one below on Mac OS X, try setting g:delve_backend
to native
.
could not launch process: exec: "lldb-server": executa ble file not found in $PATH
Example: let g:delve_backend = "native"
Contributions to the project is most welcome. I'd be happy to review and merge pull requests. If you need any directions in your implementation we can always discuss that too.
There are many things that this project need, but some examples could be:
MIT Licensed software.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4