是否可以让VsCode Intellisense检测C预处理器生成的源代码?

w41d8nur  于 2023-02-03  发布在  Vscode
关注(0)|答案(1)|浏览(163)

假设我有一个C程序,看起来像这样...

#define Pointlike(type) \
    type lat;\
    type lng;
    
typedef struct Point {
    Pointlike(void*)
} Point;

typedef struct {
    Pointlike(int)
} IntPoint;

int main(){

    Point *point = &(Point){.lat = (void*) 0, .lng = (void*) 1};
    IntPoint *intPoint = &(IntPoint){ .lat = 0, .lng = 1 };
    IntPoint *unsafe = (IntPoint*) point;

    return 0;
}

在我当前的配置下,VsCode Intellisense无法识别Pointlike将提供的字段。
我的配置中是否遗漏了什么?我可以想象这是预期的行为,因为我不一定期望Intellisense在默认情况下运行预处理器。是否有一种方法(例如,将gcc -E导入Intellisense)以某种方式拾取这些符号?

yks3o0rb

yks3o0rb1#

在最新版本的C/C++ Intellisense中,这似乎是开箱即用的。

相关问题