VSCode Intellisense:c_cpp_properties.json找不到某些文件夹

VSCode Intellisense: c_cpp_properties.json Cannot Find Certain Folders

提问人:Steiner 提问时间:6/27/2023 更新时间:6/27/2023 访问量:58

问:

我目前正在使用带有 C/C++ 扩展的 VSCode 1.78.2,我想从 appindicator3-0.1 中包含 libappindicator/app-indicator.h。

为了确保 Intellisense 正常工作,我运行并将路径粘贴到 c_cpp_properties.json:pkg-config --cflags gtk+-3.0 appindicator3-0.1includePath

{
    "env": {
        "myDefaultIncludePath": [
            "${workspaceFolder}",
            "${workspaceFolder}/include"
        ],
        "myCompilerPath": "/usr/local/bin/g++"
    },
    "configurations": [
        {
            "name": "include paths",
            "intelliSenseMode": "linux-gcc-x64",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include/libappindicator3-0.1/",
                "/usr/include/libdbusmenu-glib-0.4/",
                "/usr/include/gtk-3.0",
                "/usr/include/at-spi2-atk/2.0",
                "/usr/include/at-spi-2.0",
                "/usr/include/dbus-1.0",
                "/usr/lib/x86_64-linux-gnu/dbus-1.0/include",
                "/usr/include/gtk-3.0",
                "/usr/include/gio-unix-2.0",
                "/usr/include/cairo",
                "/usr/include/pango-1.0",
                "/usr/include/harfbuzz",
                "/usr/include/pango-1.0",
                "/usr/include/fribidi",
                "/usr/include/harfbuzz",
                "/usr/include/atk-1.0",
                "/usr/include/cairo",
                "/usr/include/pixman-1",
                "/usr/include/uuid",
                "/usr/include/freetype2",
                "/usr/include/gdk-pixbuf-2.0",
                "/usr/include/libpng16",
                "/usr/include/x86_64-linux-gnu",
                "/usr/include/libmount",
                "/usr/include/blkid",
                "/usr/include/glib-2.0",
                "/usr/lib/x86_64-linux-gnu/glib-2.0/include"
            ],
            "compilerPath": "/usr/bin/g++",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "browse": {
                "path": [
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            }
        }
    ],
    "version": 4
}

然而,虽然与 gtk 相关的路径按预期工作,但 VSCode 报告了两个问题“找不到”/usr/include/libappindicator3-0.1/“和”找不到“/usr/include/libappindicator3-0.1/”。

我确信这两个路径是有效的,因为 a) 它们出现在我的文件浏览器上,b) 程序从命令行构建和运行良好。

我尝试了不同的方法来表达路径,并在其中添加“/*”或“/**”,但它们似乎没有效果。

c visual-studio-code 包含路径

评论

0赞 starball 6/27/2023
将这些路径粘贴到文件资源管理器中或将它们传递给 shell 中的命令调用时,这些路径是否按预期工作?ls
0赞 Steiner 6/28/2023
@starball 奇怪的是,有问题的路径只能在我的系统终端上使用,而不能在 VSCode 的终端上使用。它们在我的 fiele explorer 上显示得很好。ls
0赞 starball 6/28/2023
奇怪。该路径中是否有任何符号链接?您的系统终端是什么外壳?您在 VS Code 集成终端中使用什么 shell?
0赞 Steiner 6/30/2023
@starball我的系统终端 shell 是 /bin/bash,而 VS Code 终端是 /bin/sh(即使我在 VS Code 中创建新的终端实例时选择“bash”选项,仍然给我 /bin/sh)echo $SHELL

答: 暂无答案