求推荐自动生成文档注释的包或者模板

在 vscode 的时候,在 C 文件函数声明前中键入 /** 会根据函数的参数和返回值生成文档注释,如下所示:

image

请问有办法在 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 " ")
  )

效果如下:

image