C++ 覆盖vscode C/C+中intelliSense的默认includePath+;
我正在尝试为一个C项目配置vscode intellisense,在这个项目中,我有一个自定义编译器,它使用标准库的“自己”实现(针对目标处理器进行了优化) 我可以成功地包括项目库,例如,C++ 覆盖vscode C/C+中intelliSense的默认includePath+;,c++,c,visual-studio-code,libc,C++,C,Visual Studio Code,Libc,我正在尝试为一个C项目配置vscode intellisense,在这个项目中,我有一个自定义编译器,它使用标准库的“自己”实现(针对目标处理器进行了优化) 我可以成功地包括项目库,例如,#include指的是项目的正确具体实施 但是在#include的例子中,intellisense指向的是我的标准windows安装(C:\Program Files(x86)\windows Kits\10\include\10.0.18362.0\ucrt\string.h),而不是在C:/mLite/Me
#include
指的是项目的正确具体实施
但是在#include
的例子中,intellisense指向的是我的标准windows安装(C:\Program Files(x86)\windows Kits\10\include\10.0.18362.0\ucrt\string.h),而不是在C:/mLite/MetaWare/arc/libs/inc/string.h中所需要的人
我在c_cpp_properties.json中包含了路径:
{
"name": "arc",
"includePath": [
"${workspaceFolder}/**",
"C:/MWLite/MetaWare/arc/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:/MWLite/MetaWare/arc/bin/gmake.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
如何“强制”intellisense首先查看libc的指定路径?为什么
gmake
是您的编译器路径?如果您正确地为编译器设置了compilerPath
,vscode应该可以从编译器中找出实际的包含路径,而不需要includePath
(根据文档)。此外,如果您的目标是arduino,请查看@bolov yea,我看到了,但谢谢。我已经将gmake路径添加到了我的env变量中,但是vscode无法识别它,所以我将它添加到了compilerPath中(看起来还可以)。但问题不在于编译器(我从终端编译,将来可能会使用任务),而在于intellisense。至于Arduino,遗憾的是它不是,它实际上是一个使用arc proc:)的自定义控制器,我想了解完整的工具链并以良好的方式配置vscode。我的观点是,gmake
不是编译器(它是一个构建系统)。如果将真正的编译器放入compilerPath
(类似于gcc我的自定义控制器构建
)并删除includePath
,那么vscode应该能够获得编译器使用的真正include路径(假设它接受与gcc兼容的参数)。不管怎样,这只是我的猜测。但是值得一试。为什么gmake
是您的编译器路径?如果您正确地为编译器设置了compilerPath
,vscode应该可以从编译器中找出实际的包含路径,而不需要includePath
(根据文档)。此外,如果您的目标是arduino,请查看@bolov yea,我看到了,但谢谢。我已经将gmake路径添加到了我的env变量中,但是vscode无法识别它,所以我将它添加到了compilerPath中(看起来还可以)。但问题不在于编译器(我从终端编译,将来可能会使用任务),而在于intellisense。至于Arduino,遗憾的是它不是,它实际上是一个使用arc proc:)的自定义控制器,我想了解完整的工具链并以良好的方式配置vscode。我的观点是,gmake
不是编译器(它是一个构建系统)。如果将真正的编译器放入compilerPath
(类似于gcc我的自定义控制器构建
)并删除includePath
,那么vscode应该能够获得编译器使用的真正include路径(假设它接受与gcc兼容的参数)。不管怎样,这只是我的猜测。不过值得一试。