我是 vim 用户多年,最近开始玩 emacs,在尝试了 Spacemacs 和 Prelude 之后,Doom Emacs 是我的最终选择。那些日子我正在使用 (go +lsp) 和 (lsp) 模块配置 golang 开发,Doom 的所有开箱即用功能都令人印象深刻,感谢您出色的工作 hlissner。
现在我对以下基本功能感到满意:
自动完成
飞检
片段
其他 go-mode 功能
但为了提高效率,我想要更多类似 IDE 的功能,例如:
导航:到目前为止,我只找到了可以在当前缓冲区中选择符号的顾问-imenu(候选者未按方法/函数/var/const/接口等分组),但我该怎么做:
在项目中查找符号
在项目中查找接口
在项目中查找结构
在项目中查找方法
查找导出的函数,可能在指定的包中
在源代码和相关测试文件/方法之间切换并强制
等等...
生成/操作代码的更复杂的操作:snippets 和 go-gen-test 有很大的帮助,但是否可以执行以下操作:
在不同范围内生成未声明的方法/字段/函数/包的代码操作,现在它似乎只能生成变量。(这是基于 lsp 后端支持吗?我找到了一个 java 的视频,但找不到一个 go)
如果我指定要为结构实现的接口,则自动生成方法模板
从结构中删除方法
如果我删除一个函数/方法,自动删除相关的测试/基准函数
有人可以帮我吗?并且感谢任何经验/提示。