vscode Intellisense无法正常工作

时间:2015-05-08 07:23:10

标签: c++ linux visual-studio-code

我刚刚下载了适用于linux ubuntu 14.04的visual studio代码。我创建了一个简单的test.cpp并在vscode中编写了它,并且intellisense不起作用。

这是test.cpp中的代码:

struct test{
    int a = 5;
}

int main(){
    test t;
    t.
}

当我写“#34; t时,没有智能感知告诉我的成员。"应该有。

我使用命令" touch test.cpp"在linux终端中创建了test.cpp文件。然后我用visual studio代码打开test.cpp并编写代码。可以在此处看到屏幕截图:http://i.stack.imgur.com/fLhSA.png

任何人都知道如何让intellisense在linux中为vscode工作?

6 个答案:

答案 0 :(得分:2)

如果选中the languages supported,您会发现C ++没有智能感知。

答案 1 :(得分:1)

虽然它没有内置,但现在有2个非常好的扩展。

答案 2 :(得分:1)

以下内容主要适用于使用ROS1且将C/C++ extension用于vscode的情况:

在文件.vscode/c_cpp_properties.json(由VSCode ROS extension生成)中,尝试从"cppStandard": "gnu++14"更改为"cppStandard": "c++14"

文件看起来像这样:

{
    "configurations": [
        {
            "browse": {
                "databaseFilename": "",
                "limitSymbolsToIncludedHeaders": true
            },
            "includePath": [
                "/home/user/catkin_ws/devel/include/**",
                "/opt/ros/melodic/include/**",
                ...,
                "/usr/include/**"
            ],
            "name": "ROS",
            "intelliSenseMode": "gcc-x64",
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu11",
            "cppStandard": "c++14"
        }
    ],
    "version": 4
}

ROS正在使用c++14 standard,因此指定gnu++14似乎会破坏事情。这是从this question推导出来的。

存在issue

答案 3 :(得分:0)

没有内部智能感知,但有一个C / C ++插件。 最近它停止了为我工作。 我卸载并再次安装, 和goto定义现在有效。

答案 4 :(得分:0)

您现在可以使用C/C++ extension

答案 5 :(得分:0)

按照其他人的建议,您现在可以添加C/C++ extension

您可能会遇到以下两个扩展问题:

扩展名无法检测到自定义库:

您必须添加自定义库的包含路径。请执行以下操作:

点击率+ Shift + P

C / C ++扩展:配置

插入路径(例如,每行添加一条路径)

${workspaceFolder}/**
/home/me/Documents/my_custom_lib/

该扩展程序突然停止,不再为您提供任何建议:

如果您不打开项目根目录而是它的子目录,则可能会发生这种情况。打开项目根文件夹并重新加载窗口。