C++大型项目使用 Vim 是否合适?
本人主要使用 visual studio 2019 和 2022 加上 vsvim 插件从事 C++开发,vs 的补全和纠错做的还是非常出色的,不过我一直想尝试使用纯 vim 或者 neovim 进行开发,但是遇到一个痛点无法解决,公司平台大量依赖 Qt+ACE 框架,工程化主要以 Qt 而非 CMake 进行管理,在 vim 下尝试使用 ccls 、clangd 作为后端 lsp ,效果都很不理想。
Qt 确实不太行,moc 啥的本身 lsp 支持都不算好。而且代码库大了之后 lsp 占的内存和 CPU 反而比 vs 要更高。
用的 qmake ?印象里能生成 compile_commands.json 吧,不太确定。
给个通用的解决办法:
github.com/rizsotto/Bear
支持从 makefile 的编译过程录制 compile_commands.json ,然后搭配 lsp 就行
是的 bear 我也尝试过,都效果不是很好
是的
公司有大佬是直接使用 vim 或者 emacs ,就单纯当编辑器使用,也不需要补全啥的,但是我感觉我是记不住那么多东西,还是比较依赖补全
没必要折腾
程序员已经很不容易,对自己好点。
clangd 、ccls 有啥问题?我们全公司用的 vim\emacs 开发,好多年了。
你们那是高手,楼主这不还是在进阶的路上,要寻求帮助嘛
不过我一直想尝试使用纯 vim 或者 neovim 进行开发
尝试后,不适合自己 / 不符合自己的习惯,那就可以跳过了。用自己习惯的一套即可。
先考虑迁移到 cmake 吧,qmake 感觉已经很少用了。
本站网友开发的 xmake 也挺不错。
人生苦短, 非必要不折腾
没必要在工具上折腾,啥方便用啥,啥熟悉用啥。
没必要创造需求,除非能带来效率的极大提升
没必要,对自己好一点,以最快的速度完成老板派的活最重要,至于用什么工具,没人 care
浪费时间折腾配置、工具……意义不大,还不如拿一个开箱即用的
楼主说“效果不太好”但是也没说具体哪里不好
感觉更像是在讨论 HiFi 而不是讨论技术
用编辑器的 vim 插件就好了,用纯 vim 有什么收益? 浪费时间,编辑器好不好用一大部分在于插件的生态,vim 自己的插件做文本编辑没有问题,折腾 IDE 特性就是浪费时间了
www.qt.io/blog/introducing-qmake2cmake
可以转换成 cmake,不过转到 vim 倒是看不到必要性, vs 宇宙第一不是吹出来的,只有 clion 可以碰瓷一下.
效果都很不理想
你所期望的效果是怎么样的?
据我所知 clangd 提供很多效果不错的功能,前提是你的 compile_commands.json 要正确。参考连接: zhuanlan.zhihu.com/p/520720943
如果公司平台是 qt ,那用 qt creator 啊
完全没有这个必要,IDE 打开 vim 模式就好了,纯 vim 是落后的方式。 自己搞后端,智能建议、补全不会有 IDEA 、vs 做得好。
真正不纠结工具的也不会去评论别人用什么工具有什么不好的,更何况绝大多数人也没见过使用 vim 的天花板。
纠结工具,纠结语言,纠结框架都是最 low 的想法
没必要折腾
vim + supertab + leaderf 基本足够了,补全啥我不折腾了
多大的项目呢?
C++ 的话 ctags 我觉得挺好了,没必要一定要折腾 lsp 。
没怎么用过 C++ 的 LSP ,但貌似 CLion 的补全,也是基于 clangd 来实现的。所以楼主这个情况,是只能用 VS 了吗
纯 C 项目可以,C++还是算了吧,qtceator 挺好的,工具只有合适的,没有最好的
不合适,非常不合适。
工程的东西真不适合用 VIM 管理,那 tm 是人干的事么?
为什么要使用纯 vim 或者 neovim 进行开发?把这个问题想明白,就不会纠结用什么工具了。
scons/bazel 也会遇到 lsp 不太准的问题,lsp 不准就 ctags/gtags 完事
最主要的是响应慢,卡顿
我从 2014 年到 2019 年一直在用 emacs 编码,纯 emacs ,尝试过这种方案,学过 elisp 。
我在 2019 年的时候体验了一把 vs2019 的多线程调试,以及 vs 的图形 frame graph 抽帧调试以后,感觉我自己简直就像个傻逼。以前用 emacs 就为了装逼,白白浪费了自己的生命。vs 真的很好,vs2022+resharper 让我的效率至少提升了 20%,错误率也减少了 20%,debug 效率我估计至少提升了 50%。
还有一个说法是用 vs 太卡了,用编辑器更轻量级,我的建议是让老板换电脑,2022 年了,开 ide 卡的电脑还是算了吧。
折腾 vim 虽然上限很高,但是投入产出比太低,直接用 ide 省心省力,性能问题应该由机器配置来解决。
对于工业级产品开发,vim 最适合的是作为插件集成在 ide 中,而不是自开发个性版 ide
当然怎么做是人的自由
vim 这个前提是得很熟源码
大型 CXX 一直都用 VIM ,很爽。
为啥不用 CLion 。vim 和 VS Code 就是一个编辑器,大型项目应该用 IDE 。
本人十年老安卓,80%的生态围绕在 Google 账号周边,任何设备都 24 小时挂着梯子,使用环境算是比较国际化的那种 同时,以往使用了 3 年的一加,5 年的 OneUI …
前言 随着 iphone13p 最大内存放大到了 1T ,大内存手机的时代悄然降临,在 android 里面,三星也有,罗老师几年前说:如果我告诉你们我们在做 1T 的手机,你…
如果你正在开发一个WEB应用,需要一个不错的强大的文件管理器,并且可以简单的定制,那么,下面的这七个免费开源的文件管理器你一会喜欢的。这些文件管理器都很强大,他们全部都支持PH…