包含标准标头后,Vim 代码补全不起作用
Vim code completion doesn't work after including a standard header
我必须在debian-linux文本模式下开发我的项目。我使用的是Vim,我在上面安装了clang_filterion插件。我在我的项目根目录中制作了.clang_completion
文件:
-I.
-I/usr/include
-I/usr/include/c++/4.6
当我写一个像下面这样的程序时,完成效果很好。
//#include <stdio.h>
int main()
{
struct A
{
int x, y;
};
A a;
a. // After putting dot, the suggestion popup appears
return 0;
}
然而,删除第一行的注释后,它就不起作用了!我该如何克服这个问题?
我发现让clang_complete工作的最简单方法是使用提供的cc_args.py文件。
编译项目时,使用clang_complete/bin/cc_args.py而不是gcc/g++
这将生成具有所有库和依赖项的正确.crang_complete文件。在主文件夹中提供了clang_complete源目录。
示例Makefile:
CXX=$(HOME)/clang_complete/bin/cc_args.py g++
all:
$(CXX) main.cpp
我过去已经成功地使用了clang_complete
插件(现在我只使用了cscope和ctags,我认为这已经足够了)。
在我的配置中,包含外部头很好,但正如clang完整插件页面所指定的,要在其中放置包含路径(或您可能想传递给clang编译器的任何其他标志)的文件必须命名为.clang_complete
,而不是.clang_completion
。
此外,我曾经把选项放在一行上,就像我要把.clang_complete
文件的纯内容作为命令行选项传递一样(不知道用分隔行是否可行)。
希望这能有所帮助。
相关文章:
- 为什么这段代码不起作用,我该如何解决?
- 为什么这些完全相似的代码不起作用?
- 我不明白为什么我的代码不起作用并且需要更长的时间来运行
- 我正在尝试解决一个需要数组总和值但代码不起作用的问题,我想做这样的事情
- 注释一行使代码工作,而没有它,代码不起作用
- 我的C++合并排序代码不起作用。我在这里错过了什么?
- C ++函数重新定义(代码不起作用 - 逻辑错误)
- 试图找到一个数字的平方根,但代码不起作用。C++
- 字符串代码不起作用
- 我正在努力在随机数组中查找最小值,有人知道为什么我的代码不起作用?C++
- 从 C++ 转换的 C# 代码不起作用
- 有人可以解释我,为什么我的代码不起作用吗?
- 当我使用长整型时,我的代码不起作用,它与 int 一起工作得很好
- 无法在控制面板中创建轨道栏.示例代码不起作用
- CUDA我的共享内存代码不起作用,我缺少什么
- 为什么 C++ 中的 shell 脚本代码不起作用?
- 为什么C++代码不起作用(strncpy_s)?
- 模板函数声明为 void - 代码不起作用?
- 无法弄清楚为什么这个Arduino代码不起作用?
- "check if member exists using enable_if"中修改的代码不起作用