fc2d220b5e
- I had some issues related to finding the corresponding shortcuts for each of the commands and I am looking for suggestions for improvements. - updated the lsp-java readme since the server installation is now automatic. If you already have jdt server installation, please run lsp-java-update-server which will download the related dap-mode related stuff. - Make sure that you have latest melpa versions of lsp-java, lsp-ui and dap-mode since several issues related to the java integration were fixed lately. - dap-mode is pretty young package and it is not extensively tested - dap-hydra which will be used as a transient state for the breakpoints and debugging, in general, is not synched with the shortcuts in the layer. I will sync them once there is agreement on the shortcuts configuration. Also, I have not updated lsp-java README.org with the corresponding shortcuts for the same reason. - The debug integration with the python lsp layer will be implemented in separate PR. - There will be few more functions that are going to be added to the dap-mode at some point and they would require shortcuts too: * suspend/kill thread I guess - "m d t s" "m d t k"? * watches - "m d l w" * exception breakpoints - I have to figure out how it will look like on emacs side. * goto point "m d H"? |
||
---|---|---|
.. | ||
config.el | ||
funcs.el | ||
packages.el | ||
README.org |
DAP layer
Description
Experimental integrated visual debugger using Debug Adapter Protocol.
Debug Adapter Protocol is a wire protocol for communication between client and Debug Server. It similar to the LSP but providers integration with debug server.
Layer installation
To use this configuration layer, add it to your ~/.spacemacs
. You will need to
add dap
to the existing dotspacemacs-configuration-layers
list in this
file.
Features:
Fully featured IDE-like debugger providing:
- Launch/Attach
- Breakpoints
- Exceptions
- Pause & Continue
- Step In/Out/Over
- Callstacks
- Threads
- Multiple simultaneous debug sessions
- Evaluating statements
- Debug/Run configurations
- Debug REPL
Configuration
Derived layers
Derived layer should provide information how to configure the language
specific debug adapter and the language specific bindings(e. g. debug
application, debug test, etc). The package declares function
spacemacs/dap-bind-keys-for-mode
which should be used by the derived layers
to configure the shortcuts.
Declared prefixes
The following prefixes have been declared:
prefix | name |
---|---|
SPC m d |
debug |
SPC m d d |
launching |
SPC m d b |
breakpoints |
SPC m d l |
debug windows |
SPC m d S |
context switching |
SPC m d e |
eval |
SPC m d I |
inspect |
Default keybindings
The default bindings are listed below. Derived layers should extend this list:
Key Binding | Description |
---|---|
SPC m d d d |
start debugging |
SPC m d d l |
debug last configuration |
SPC m d d r |
debug recent configuration |
SPC m d c |
continue |
SPC m d i |
step in |
SPC m d o |
step out |
SPC m d s |
next step |
SPC m d v |
inspect value at point |
SPC m d r |
restart frame |
SPC m d . |
debug transient state |
SPC m d a |
abandon current session |
SPC m d A |
abandon all process |
SPC m d e e |
eval |
SPC m d e r |
eval region |
SPC m d e t |
eval value at point |
SPC m d S s |
switch session |
SPC m d S t |
switch thread |
SPC m d S f |
switch frame |
SPC m d I i |
inspect |
SPC m d I r |
inspect region |
SPC m d I t |
inspect value at point |
SPC m d b b |
toggle a breakpoint |
SPC m d b c |
change breakpoint condition |
SPC m d b l |
change breakpoint log condition |
SPC m d b h |
change breakpoint hit count |
SPC m d b a |
add a breakpoint |
SPC m d b d |
delete a breakpoint |
SPC m d b D |
clear all breakpoints |
SPC m d '_ |
Run debug REPL |
SPC m d w l |
list local variables |
SPC m d w o |
goto output buffer if present |
SPC m d w s |
list sessions |
SPC m d w b |
list breakpoints |