Visual Studio代码includePath子目录

Leo*_*ekk 8 visual-studio-code

我正在努力在更大的项目源上使用includePath设置.假设我有一个文件夹结构,如:

/BaseComponent/public
/BaseComponent/include
/BaseComponent/source
/SubComponent1/public
/SubComponent1/include
/SubComponent1/source
/SubComponent1/SubSubComponent/public
/SubComponent1/SubSubComponent/include
/SubComponent1/SubSubComponent/source
/SubComponent2/public
/SubComponent2/include
/SubComponent2/source
Run Code Online (Sandbox Code Playgroud)

我尝试做这样的配置:

"includePath": [
    ...
    "${workspaceRoot}",
    "${workspaceRoot}/*/include",
     "${workspaceRoot}/*/public"
],
Run Code Online (Sandbox Code Playgroud)

但这似乎没有成功.有没有办法在workspaceRoot中使用所有标题?像"包括所有子文件夹"之类的东西?

或者另一种方法来定义dependend项目的路径?

END*_*ESA 8

我相信这就是您正在寻找的:

"${workspaceFolder}/**"
Run Code Online (Sandbox Code Playgroud)

假设所有目录都在您的工作空间文件夹内。


Von*_*onC 1

2023 年 6 月:支持此功能,详见“如何将具有特定文件夹名称的所有子文件夹作为 VSCode C++ 中的包含路径”。

microsoft/vscode-cpptoolsPR 10388:“添加通配符支持includeDir”实现了这一点。


2018 年 10 月:这尚不可能/支持Microsoft/vscode-cpptools,如第849期所述。
说明该问题的上下文示例:

由于目录名称包含版本,因此似乎includePath不适用于 NuGet 包。
例如,如果我们使用2 及更高版本的升级,除了任何文件之外,package rapidjson 1.0.我们还必须更新此文件中对“ ”的引用。如果我们可以在目录说明符中使用通配符或其他一些不必在两个不同位置维护相同信息的方法,那就太好了packages/rapidjson.1.0.2/build/native/includepackages.config

因此,另一种方法是通过更新包含找到的所有包含文件夹的部分来对能够生成配置文件的脚本进行版本控制IncludePath


注意:问题 849实际上是问题 723的重复,其中指出(Bob Brown,来自 Microsoft):

目前不支持中间通配符。

我不久前启动了一个支持此功能的分支,但我忘记了它处于什么状态,现在该分支已经过时了。
如果有人想让它与master恢复同步并完成它,我们可以考虑接受它。
我将重新讨论这个问题,因为最初的请求实际上并未得到解决。