在 vscode 的时候,在 C 文件函数声明前中键入 /**
会根据函数的参数和返回值生成文档注释,如下所示:
请问有办法在 emacs 中达到此效果吗?我之前使用 yassnipet 代替,但是并不能根据参数和返回值类型生成特化的注释。
在 vscode 的时候,在 C 文件函数声明前中键入 /**
会根据函数的参数和返回值生成文档注释,如下所示:
请问有办法在 emacs 中达到此效果吗?我之前使用 yassnipet 代替,但是并不能根据参数和返回值类型生成特化的注释。
另外问一下ts-docstr 无法用 straight
安装可能是什么原因,安装代码如下(直接粘的 README):
(use-package ts-docstr
:straight (ts-docstr :type git :host github :repo "emacs-vs/ts-docstr"
:files (:defaults "langs/*.el")))
报错如下
elpaca
也无法安装
最终在道友们的帮助下成功安装(起码不报错了),解决代码如下
(use-package msgu
:straight (msgu :type git :host github :repo "jcs-elpa/msgu"))
(use-package ts-docstr
:straight (ts-docstr :type git :host github :repo "emacs-vs/ts-docstr"
:files (:defaults "langs/*.el"))
:init
(setq ts-docstr-key-support t))
但是依然使用不了,我个人觉得是这个包使用的是 tree-sitter
,而 emacs29 已经内置了 treesit
,所以可能有一些冲突问题。
所以我又找到了同一个作者之前写的 docstr
包,这个并不需要 ts 模块,所以依赖比较少,效果也还不错,配置如下
;; 格式化文档注释自动生成
(use-package docstr
:straight
(docstr :type git :host github :repo "thysrael/docstr"
:files (:defaults "langs/*.el"))
:init
(setq docstr-key-support t) ; 设置键入触发
:config
(docstr-faces-apply) ; 设置高亮
:hook
(after-init . global-docstr-mode)
:custom
(docstr-desc-summary "@summary ")
(docstr-desc-param " ")
(docstr-desc-return " ")
)
效果如下: