在Visual Studio Code(.json配置)中设置相对于工作区路径的c / c ++项目的包含路径

Set include paths of c/c++-project relative to workspace path in Visual Studio Code (.json configuration)

本文关键字:路径 工作区 包含 项目 相对于 设置 Code Studio Visual json 配置      更新时间:2023-10-16

我想在vscode中定义相对于我的工作区文件夹的c/c ++项目的包含路径。由于mainfolder在我工作的每个系统上都有不同的路径,而且我不想总是更改配置文件。

我有以下文件夹结构

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 不直接支持相对路径,但可以从包含绝对路径的路径变量开始,然后附加相对路径。请参阅以下错误讨论:无法解析具有相对路径的包含

因此,对于所呈现的路径情况,应相对于工作区路径,请从工作区路径变量开始,并使用".."而不是"**"导航到父文件夹。

include1的完整路径应为:

"${workspaceRoot}/../../include1"