richard1122 / vscode-youcompleteme

YouCompleteMe for VSCode
https://marketplace.visualstudio.com/items?itemName=RichardHe.you-complete-me
MIT License
53 stars 8 forks source link

No completion for system header #27

Closed harryherold closed 5 years ago

harryherold commented 7 years ago

There is no completion for functions(e.g.perror) of header(e.g. stdio.h) in the system path(e.g. /usr/include). Surprisingly, the completion works for C++ header.

richard1122 commented 7 years ago

Hi, I guess you need to add /usr/include to your .ycm_extra_conf.py file.

Please see https://github.com/Valloric/YouCompleteMe for more details.

harryherold commented 7 years ago

I looked at my .ycm_extra_conf.py but it stills looks fine and my config works with ymc in Vim. I validated the completion with this small example:

#include <stdio.h>
#include <netcdf.h>
#include <string.h>

struct foo{
    int i;
    double b;
    union{
        char c;
        int k;
    }flupp;
    union{
        double o;
        float g;
    }baz;
};

int main(int argc, char ** argv)
{
    static int value = 100;
    printf("Hello world %d\n",value + 1);
    struct foo baz;
    baz.i = 10;
    baz.flupp.k = 10;
    perror("flupp");
    perror("flupp");
    fprintf(stderr, "flupp");
    baz.flupp.c = 't';
    // strn... no completion
    return 0;
}

Have you an idea what I can do? Is there may be a debug log or something else?

Can you re-open the issue please?

richard1122 commented 7 years ago

You may set ycmd.debug = true in your configuration to show all logs. Including all request and response between the extension and the ycmd server.

Which distribution and version are you currently working on? I would like to test this soon.

And please make sure you are using the latest ycmd and the extension version.

Thanks.

harryherold commented 7 years ago

I am using Fedora 25, the newest ycmd + vscode-youcompleteme.