最近私的系统因为重装而数据挂了,只好重新配一次环境。也就是这个时候发现clang complete版本更新了,它更新才没几天,不过变化挺大,在linux下可以使用vmb包来安装了(1.8版)。不过安装时依然有各种坑。
首先,如果你用的clang版本是2.8/2.9的话(3.0没用过表示不清楚),支持的gcc版本为3.4 – 4.5,不支持gcc4.6,如非必要,别安装最新的gcc。但在windows下,mingw提供的安装包总是安装最新版本,为了方便其它人使用,特别收集一个mingw4.5.2版(需要7z或rar解压缩):
http://sourceforge.net/projects/tcgraphics/files/others/mingw4.5.2.7z/download
不需要安装,解压缩后就可以使用,注意设置一下环境变量path到mingw/bin即可
第二坑,如果是linux,请去官网http://llvm.org/releases/下载2.8版,因为2.8版的bin内部提供了一个libclang.so,得以减少麻烦。如果是windows下,请去官网下载2.9版(也是刚刚的链接),这个版本自带了win下的mingw bin。但光有这个bin是不太够的,除非你不在意补全的性能问题(为了弹个提示框可能等个1-20秒),解决方法后面说。下载好clang后,请测试编译命令行(此目录会因你的gcc/mingw版本变化而变,不要照抄):
windows(假如你的mingw目录是D:\mingw):clang++ test.cpp -ID:\mingw\include-ID:\mingw\lib\gcc\mingw32\4.5.2\include-ID:\mingw\lib\gcc\mingw32\4.5.2\include\c++ -ID:\mingw\lib\gcc\mingw32\4.5.2\include\c++\mingw32
linux:clang++ test.cpp -I/usr/include/c++/4.5 -I/usr/include/c++/4.5/x86_64-linux-gnu
注意你自己编写的test.cpp要包含c++的头文件,以进行c++的编译测试
如果能编译成功,那么可以继续后文。
以上的东西准备好了以后,就可以下载那个插件安装进去了,在这查看那个插件
http://www.vim.org/scripts/script.php?script_id=3302
不过这里也有坑。如果是linux,那么下载那个vmb包就行了,按文档所说执行一条命令行指令安装就可以了;如果是windows,那还请麻烦你去https://github.com/Rip-Rip/clang_complete手工下载,点那个zip图标打包下载下来就好,下载后手工把plugin目录里的东西(至少这个目录)复制到你的vim插件目录,这样就安装好了。
接下来是配置,需要在你要编辑的c/cpp等文件所在目录或者root,建立一个名为’.clang_complete’的文件,里面的内容就是你用clang编译成功时的命令行的-I命令的集合,像mingw的话就是:
-ID:\mingw\include
-ID:\mingw\lib\gcc\mingw32\4.5.2\include
-ID:\mingw\lib\gcc\mingw32\4.5.2\include\c++
-ID:\mingw\lib\gcc\mingw32\4.5.2\include\c++\mingw32
一行一个-I
做到这里以后,重启一下你的vim,这时候已经可以正常使用补全了,用弹出补全提示框。或者在输入 :: . -> 之后会自动弹出。不过,在linux下效率上还算过得去,在windows下会非常杯具,要等好久。
你可以加上pch的方式减少编译时间,但也比不上以下的方式。
要想补全速度快,那么要启用libclang,在vimrc里加上以下命令启用它:
let g:clang_use_library=1
然后,如果是linux,就把安装包里的libclang.so复制到/usr/lib/或者/usr/local/lib之类的地方(看你系统怎么要求)
如果是windows,需要下载一个libclang.dll,放到一个目录比如”D:/clang/lib”,那么要在vimrc里加一句:
let g:clang_library_path=”D:/clang/lib”
这个libclang.dll在哪里下载呢?在这http://sourceforge.net/projects/tcgraphics/files/others/libclang.zip/download
最后,为了让补全显示不多建立一个窗口,可以在vimrc里加:
set completeopt=longest,menu
如果不想让弹出的时候自动选上某个项,那么
let g:clang_auto_select=0
更多可见clang complete的文档。
本文是针对不希望自己配置和编译clang的人看的,如果你有能力自己看文档把它编译出来,似乎帮助就不大了。。。
如遇到别的问题使用不能,那请告诉我。。。另外,别问我怎么编译clang
PS:SupterTab is well
相关推荐
使用VS开发C、C++必备之利器,程序员都爱的补全插件
Visual_Assist_X_10.6.1856是VS下代码自动补全的插件,非常的好用,自动联想功能很强大,编写VS代码时不必为了记不住变量而苦恼了!
org.eclipse.cdt.ui_7.2.0.202106050127.jar 对应eclipse的Version: 2021-06,亲测可用,win10系统代替C:\Users\Administrator\.p2\pool\plugins里的同名文件就可以 教程可以看这位大佬的 ...
包含两个插件,一是IndentGuide.vsix,另一个是ProPowerTools.vsix,可以快速阅读定位代码位置,安装后需重启vs才会生效
安装这个软件可以自动检测代码补全提示,Visual AssistX是一款非常不错的Microsoft VisualStudio插件,支持VC和VS Visual AssistX 先关闭VC和VS,打开vax_1837_patch.exe,然后指定到Visual AssistX目录。...
eclipse c_c++自动补全auto activation 自动激活 最新插件
eclipse c/c++添加以下按键的自动激活功能 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz
vim下c++补全的插件,压缩文件内有详细的安装过程
此插件是针对C++的一个格式化工具,可以针对自己的编码习惯,选择一种编码风格,也可以自己定义,而且定义非常详细,有表达式、指针、模板、类、枚举等十几种,肯定能满足你的需要。 6. VC显示行号插件 正确安装...
Kite是一款很好用的代码补全工具,它使用机器学习训练来提供非常强大的代码补全,持Python、Java、JS、Go、HTML、PHP、C、C++等13种编程语言( .js, .jsx, .vue, .ts, .tsx, .css, .HTML, .less, .c, .cc, .cpp, ....
vscode c/c++扩展插件,支持跳转,补全,dbg
Visual Assist X是一款非常好的Visual Studio .NET 2003、2002插件,支持C/C++,C#,Visual Basic等语言,能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动更正大小写错误、自动标示错误等,有...
CodeMaid是一个开源的Visual Studio的扩展插件,用于整理与优化代码等。功能类似于商业软件ReSharper,但它是免费的,并且开放源代码。它能帮助你更容易的理解你的代码,支持多种编程语言。 功能: 代码清洁 代码...
VS2008进行C++开发的智能提示插件VS90SP1-KB974558-x86
基于Python实现的一个高级代码补全工具,高质量为 Python、Java 和 C++ 等编程语言补全代码
1:linux下c++ 和 python的IDE 2:代码自动补全,无须按键盘才出 3:比较详尽的插件 4:vimrc中对使用有基本完整的中文注释 5:类似IDE界面 6:快捷键使用了 F3--F6和wm,具体使用查看vimrc 附件中有 vimrc 和 vim目录 ;...
Smart C++ Builder 是一个带GCC编译器、代码自动补全的VIM编辑器版本,其中采用了Clang补全插件,完美的实现了任意C/C++代码的自动补全功能。 本项目官方网站:http://sf.net/p/smartbuilder
VC++6.0代码提示插件 绝对无毒,我自己常用
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR> 就可以在vim中使用快捷键F12来随时生成当前目录下的tags,这样后续配好omni自动补全以后,自己工程下定义的类中的public成员,也可以通过. :: ->来自动...
cpptips README这是一个c++编写辅助工具,包括代码补全、提示、代码跟踪、跳转等,可辅助开发者编写代码和查看代码。该项目中包含c++语法解释算法,但并不完美,有兴趣的朋友可获取并修改和调整,但我们非常希望能反...