YouCompleteMe 仅建议 "local" 个使用过的代码

YouCompleteMe suggests only "local" used code

我是第一次尝试使用 YCM,所以为了让它工作,我决定给 YCM 生成器一个机会,它会生成 .ycm_extra_conf.py 根据makefile自动生成文件。

到目前为止我的程序只是一个简单的 hello world。

#include <stdio.h>

int main()
{
    printf("Hello World!");
    
    return 0;
}

我正在使用 CMakeLists.txt 技巧来生成 makefile。

file(GLOB sources *.h *.c)
add_executable(Foo ${sources})
   

然后在执行 YCM-Generator 脚本后,我得到了这个输出

Running cmake in '/tmp/tmp_YknVy'... $ cmake /home/pedro/Desktop/Projetos/teste

Running make... $ make -i -j4

Cleaning up...

Build completed in 1.5 sec

Collected 2 relevant entries for C compilation (0 discarded).

Collected 0 relevant entries for C++ compilation (0 discarded).

Created YCM config file with 0 C flags

YCM 插件确实找到了 .ycm_extra_conf.py 文件,但是自动完成功能不正确,例如,如果我输入“floa”,它不会提示“float”,但是它只建议我以前用过的东西,比如“int”或“printf”。 我是不是遗漏了什么,或者这是按预期工作的?

所以我修好了。

对于 c 它确实需要一个 .ycm_extra_conf.py ,而我的一个朋友可以在没有 c++ 的情况下使它工作。

自动完成只会自动提示以前用过的函数,如果你不记得函数名你得按<Ctrl-Space>

YCM-Generator 没有做到这一点,所以我按照评论自己修改了示例文件。

如果你习惯了 Visual Assist,自动完成功能可以工作,但与 VA 相比它真的很弱,这是一种耻辱...我真的希望有人将该插件移植到 Linux。