设置包含c/C++的路径 - 相对于vscode中的工作空间路径的项目(.json配置)
我想定义我的c/c++项目的包含路径,相对于我的工作空间文件夹vscode。由于mainfolder
在我工作的每个系统上有不同的路径,我不想总是更改配置文件。设置包含c/C++的路径 - 相对于vscode中的工作空间路径的项目(.json配置)
我有以下文件夹strucure
mainfolder
/include1
/include2
/project/workspacepathofVScode
所以我vscode打开该文件夹是workspacepathofVScode
。
在我的配置文件c_cpp_properties.json
我以前**/**/
从我的工作区根得到向上两级,包括我的两个包含的文件夹,但它似乎并没有被正确的语法:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceRoot}",
"**/**/include1",
"**/**/include2",
],
"intelliSenseMode": "msvc-x64",
"browse": {
"path": [
"${workspaceRoot}",
"**/**/include1",
"**/**/include2",
]
}
}
],
"version": 2
}
哪有我定义了相对于workspacepathofVScode
的包含路径? 如果我认为这是不可能的,你知道任何解决方法吗?
Vscode不直接支持相对路径,但可以从包含绝对路径的路径变量开始,然后附加相对路径。请参阅以下的bug的讨论:Unable to resolve includes with relative paths
所以对于路径的情况下提出的,多数民众赞成应该是相对于工作空间路径,开始与工作空间的路径变量,使用".."
代替"**"
导航到父文件夹。
为include1
的完整路径应该是:
"${workspaceRoot}/../../include1"
它呢!我之前尝试过这样的事情,但显然不是这种组合。 – thewaywewalk
已编辑,现在它应该看起来像一个答案,而不是半知情的猜测;) – grek40
我从来没有在这个配置文件的工作,但对于一个典型的文件系统路径,我希望点的字符,而不是恒星产生相对路径'” ../../ include1“' - vscode属性文件在这方面是特殊的吗? – grek40
@ grek40这就是我试图找出。它没有记录在任何地方。点符号不起作用。 – thewaywewalk