调试界面印象最深的是VS, 按钮比较方便. 特别是悬浮按钮, 操作很方便.
对于emacs, 不管你当前在哪个子窗口, 按钮都能起作用, 而快捷键就不一定了, 可能得先切换到合适的窗口, 否则可能快捷键冲突.
调试界面印象最深的是VS, 按钮比较方便. 特别是悬浮按钮, 操作很方便.
对于emacs, 不管你当前在哪个子窗口, 按钮都能起作用, 而快捷键就不一定了, 可能得先切换到合适的窗口, 否则可能快捷键冲突.
在Emacs中用hydra或者transient可能更合适
界面看起来不错。
不过Emacs 中用 M-x gud-gdb
感觉挺好用了(python 用 M-x pdb
)。
(defun vmacs-dape--select-go-args ()
(require 'which-func)
(if (string-suffix-p "_test.go" (buffer-name))
(when-let* ((test-name (which-function))
(test-regexp (concat "^" test-name "$")))
(if test-name
`["-test.run" ,test-regexp]
(error "No test selected")))
(if current-prefix-arg
(vconcat (split-string (read-shell-command "args: " nil
(if (equal (car compile-history) "")
'(compile-history . 1)
'compile-history))))
[])))
;; https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_dap.md
(defun vmacs-dape-test-p ()
(if (string-suffix-p "_test.go" (buffer-name))
"test" "debug"))
(defun vmacs-dape-relative-dir ()
"Return the file directory relative to dape's cwd. This is used by Delve debugger."
(if (string-suffix-p "_test.go" (buffer-name))
(concat "./" (file-relative-name
default-directory (funcall dape-cwd-fn)))
(funcall dape-cwd-fn)))
;; inside your dape-config
(add-to-list 'dape-configs
`(delve
modes (go-mode go-ts-mode)
command "dlv"
command-cwd dape-cwd-fn
command-args ("dap" "--listen" "127.0.0.1:55878")
host "127.0.0.1"
port 55878
:type "go"
:name "go-debug"
:request "launch"
:mode vmacs-dape-test-p
:cwd dape-cwd-fn
:program vmacs-dape-relative-dir
:args vmacs-dape--select-go-args))
https://www.reddit.com/r/emacs/comments/17c48kx/dapeel_dap_client_that_does_not_rely_on_lspmode/
根据这个帖子 撸了个 golang 的支持跑 test 也支持main 的配置
,且C-u
时 可以支持传递额外的参数
M-x pdb
只能显示当前断点在哪一行呀,以及再带一个 repl, variables window, frame window之类的是都没有 其实就是命令行的 pdb 稍微增强一些功能,和 dap 带来的丰富信息还是不能比。
不过我到现在也没搞明白怎么把 debugpy 的 dap attach 到一个正在运行的 python repl 里(readme有提到一嘴,但是太简略了),但是用 pdb 就可以做到😂 所以我确实直接用 pdb 命令行会更多一点。
大佬能否展开详聊?有个带图形界面的程序(pyside程序),在终端里敲调试命令可以跑起来,在emacs gud/realgud里就是不能显示图形界面。
我也没调试过pyside 程序,没什么经验可以分享。
你可以弄个小的例子试试,不行就给 Emacs 报个 Bug 反馈下。
dape 已经加入到 elpa.gnu.org了
有没前辈分享下ruby的配置方法
有没有 Java 的配置
现在还缺乏一个类似neovim下mason的工具,可以自动下载管理lsp服务器和dap服务器
等你添加进centaur emacs后我去抄抄
已经进了,做了简单的配置,只支持29+。
请问dape怎么开启补全呢,用的lsp-bridge,按照dape主页“ And with (setq dape-buffer-window-arrangement 'gud)
+ corfu
as completion-in-region-function
”设置完,lspbridge的补全也出问题了
没太懂,dape 是debug用的,跟补全无关呀。你问问作者吧
我说的就是调试的时候在特定buffer里面的补全,像python的repl和c的gdb命令窗口
lsp-bridge 不能和 corfu/company-mode 一起用, 会干扰 acm 补全菜单
那怎么开启这些个buffer的补全呢,用lsp-bridge也行
不知道,zsbd