Vim 这样的文本编辑器在代码重构上和 IDE 相比有天然劣势,接下来怎么样需要期待 LSP 的发展,如果 LSP 实现大一统,那 Vim 原生的编辑体验是强于 IDE 的。 格式化这种,集成现有的工具就够了,也不是非要自己写。
daveh
2022 年 8 月 27 日
作为一个“老”vim 党(当然水平差勿喷),现已切 JetBrains 系,也来说说。主要还是号召大家有条件切成智能 IDE 去开发,节省折腾时间,把时间聚焦代码实现,早点写完回家陪老婆。 没有知乎账号,就回在这,有心 V 友也可以帮转给作者看看。
例子 1:格式化代码
> html 格式化 也表示还没看懂正则怎么就完成 html 格式化,只能说正则真强。 另外有个疑问他这个脚本,怎么格式化嵌在其他代码比如 JS 中的 html 片段?还有如果嵌入的是其他语言不能用正则去格式化怎么办? 而这用 JB 系的注入语言功能很容易完成,选择片段 Inject language ,接着格式化、代码智能提示等等都来了。
> 写 C++ 函数实现 同样他例子中已经有了类声明、怎么快速写 C++ 类函数实现头,其实根本不用这么复杂去处理文本,他需要的是一个智能 IDE ,能知道他还有一堆函数实现没写,例如在 JB 系中在 cpp 文件中按 Alt+Insert 生成代码,选对应函数,IDE 就自动把函数实现架子写好了,接下来就是填空。 倒是我想,他写个复杂脚本也完成了这个功能,有一天我要改函数参数怎么办?删除实现头再重新导一遍?那函数调用处怎么办?得一个个搜索出来去改?用 JB 系的重构功能改函数签名,很容易完成。