vscode 有没有比较好用的 c++ 代码生成插件?

31 天前
 lzoje

像 idea 里面可以根据接口给 java 生成代码一样,c++ 有没有类似的插件?用了一个好像是叫 c++ helper 的插件,但是效果不是很好。主要是因为 c++ 声明和定义是分离的,导致这个插件不知道代码生成在什么地方。而且也没有根据基类虚函数生成定义的功能。不知道还有没有类似的插件能解决这个问题。

1094 次点击
所在节点    Visual Studio Code
7 条回复
8620
30 天前
一定要说的话 Github Copilot ,可以先访问声明,然后在要写定义的地方开始打,有的时候能正常猜测补全。坏处是要点钱,然后是联网的。不联网的有 Tabnine ,但是准确度差。这都是基于深度学习的产品。

不过 C++本来就是自由度比较高的语言,一个迭代遍历三四种不同时期写法的,真的复杂或者长期迭代的代码别说程序和 AI 了,受过专业训练的人看都头疼的。
InkStone
30 天前
不如直接按自己的需求写一个吧,花不了多少时间的……
lzoje
30 天前
@InkStone 确实有这个想法,通过调用 clangd 做,应该不难。
Belmode
30 天前
java 那种生成的也是 CRUD 啊,就是说有固定模板的,都是按套路来的。
既然如此,那么随便找个模板引擎,自己配置一下模板,不就好了。甚至你可以直接用 java 的那套工具,自己改写一下模板,岂不是更快~
lzoje
30 天前
@Belmode C++ 和 java 主要有个差异是 C++ 的声明和定义是分离的。所以生成要修改两个文件,并且这两个文件关联没有规则的(有些可能会是文件名一致,但不一定)。
Belmode
30 天前
你不一定强制生成多个文件,一个也可以,然后手动把声明复制去其他地方也可以,这样比全部手写快!

最关键的是,你生成代码的未知不一定要在工程里,你可以在工程外找个地方全部生成过去,不影响当前工程,然后再按需复制。
Belmode
30 天前
@lzoje 我之前一直拿 IDEA 的 EasyCode 插件,自己写模板,支持输出 nodejs 前后端的业务,很方便。

这个插件其实就是基于 velocity 模板引擎的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1080576

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX