我在macOS Sierra上使用Visual Studio Code 1.14.2,并且安装了Microsoft C/C++ ms-vscode.cpptools
扩展,但在设置包含路径时遇到问题,无法生成错误并返回,从而无法通过IntelliSense正确检查标准库头到'Tag Parser'机制。什么是正确的macOS vscode intellisense C++包含标准库的路径?
默认c_cpp_properties.json
包含此vscode版本以下:
{
"configurations": [
{
"name": "Mac",
"includePath": [
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/usr/local/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.1.0/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/usr/include",
"${workspaceRoot}"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1",
"/usr/local/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.1.0/include",
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include",
"/usr/include",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
},
...
}
例如,用一个简单的C++文件,例如:
#include <exception>
int main() {
return 0;
}
的#include <exception>
有下划线。盘旋在它指出:
文件: '文件:///path/to/vscode.cc' 严重性: '信息' 消息:“检测到的#include错误。请更新您的includePath。该翻译单元的智能感知功能(/path/to/vscode.cc)将由标签解析器提供。' 在: '1,1' 源: ''
和
文件: '文件:///path/to/vscode.cc' 严重性: '信息' 消息:“无法打开源文件‘endian.h’(‘异常’的依赖)” 在:“1,1” 来源:“”
我做了搜索我的文件系统为endian.h
的。修剪出来,实际上似乎相关的主机发展的可能性(即丢弃的iOS/WatchOS /等):
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/i386/endian.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/machine/endian.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/i386/endian.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/machine/endian.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/i386/endian.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/machine/endian.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/i386/endian.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/endian.h
/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/i386/endian.h
/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/machine/endian.h
/usr/include/i386/endian.h
/usr/include/machine/endian.h
有谁知道这个问题的正确解决办法是什么呢?
我看到https://stackoverflow.com/questions/37522462/visual-studio-code-includepath和它的评论,但尽管在那里的反应,我仍然看到了同样的问题。我尝试将建议的路径添加到包含路径列表中,但没有帮助。 – robswain