我刚刚下载了适用于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工作?
答案 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/
该扩展程序突然停止,不再为您提供任何建议:
如果您不打开项目根目录而是它的子目录,则可能会发生这种情况。打开项目根文件夹并重新加载窗口。