如何向 CMakeSettings.json 添加额外的包含路径以使 IntelliSense 正常工作?

w12*_*128 6 c++ intellisense cmake visual-studio visual-studio-2019

我正在使用 Visual Studio 2019 16.7.2 打开一个 CMake 项目,该项目使用位于绝对C:\dependencies路径内的头文件和库。但是,该路径永远不会在 CMakeLists.txt 中直接引用,并且仅在项目附带并成功执行的单独构建脚本中使用。这意味着,当在 VS 中处理项目时,IntelliSense 无法识别来自 的包含的标头C:\dependencies\lib[A,B,...],例如,#include <libA/header.h>将找不到自动完成和类似功能的标头。

我不应该直接修改 CMakeLists.txt 。相反,我想引用未版本化的CMakeSettings.jsonC:\dependencies文件中基本路径的标头,这有望解决 IntelliSense 问题。这是我尝试过但没有成功的方法:

  • 添加include_directories变量:
 "variables": [
 {
        "name": "include_directories",
        "value": "C:/dependencies/libA/include C:/dependencies/libB/include"
        "type": "PATH"
 }]
Run Code Online (Sandbox Code Playgroud)
  • 添加 CMAKE_CXX_FLAGS 变量:
"variables": [
{
      "name": "CMAKE_CXX_FLAGS",
      "value": "-I C:/dependencies/libA/include C:/dependencies/libB/include"
}]
Run Code Online (Sandbox Code Playgroud)

路径字符串本身不是问题,例如"C:\dependencies\libA\include"包含带有引用标头的目录libA

关于如何让 IntelliSense 成功识别标头有什么想法吗?