【问题标题】:Cannot auto-complete c++ in vs code无法在 vs 代码中自动完成 c++
【发布时间】:2017-01-20 12:38:36
【问题描述】:

嘿,我最近开始使用 vs 代码并且遇到了一个非常奇怪的问题。我的代码不会自动完成的地方。我已经安装了 c/c++ 扩展并拥有包含以下内容的“c_cpp_properties.json”文件

{
    "configurations": [
        {
            "name": "Mac",
            "includePath": ["/usr/include"]
        },
        {
            "name": "Linux",
            "includePath": ["/usr/include"]
        },
        {
            "name": "Win32",
            "includePath": ["c:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include"]
        }
    ]
}

在你问我是否已将正确的包含路径复制到“/usr/include”之前,我只是做了一个非常简单的测试,我写了 1 行

"VkInstance 实例;" 它编译并运行良好,但每当我开始输入 VkInstance 它永远不会自动完成。此外奇怪的是,有些东西自动完成得很好,而其他东西在我输入时没有出现,例如“vkCreateInstance”。也许我错过了什么或做错了什么想要一些反馈

谢谢!

#include <vulkan/vulkan.h>

int main()
{
    VkInstance instance;

    return 0;
}

【问题讨论】:

    标签: autocomplete intellisense visual-studio-code


    【解决方案1】:

    这似乎是 VSCode 代码完成功能的限制(或错误?)。 Vulkan 标头将所有句柄(如 VkInstance、VkFence 等)的 typdef 包装在宏中,看起来 VSCode 无法处理。

    例如这个:

    VK_DEFINE_HANDLE(VkInstance)

    不会自动完成,但如果你手动替换宏来得到这个:

    typedef struct VkInstance_T* VkInstance;

    自动完成工作。

    如果这是一个错误(只是快速浏览一下),可能值得在https://github.com/Microsoft/vscode-cpptools/issues 报告

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 2014-07-22
      • 2017-10-31
      • 2018-12-20
      • 1970-01-01
      相关资源
      最近更新 更多