Intellisense在Ubuntu上的VS Code中不起作用

时间:2017-10-31 04:05:34

标签: c++ visual-studio-code ubuntu-16.04

我在Windows 10的VMware Player VM上运行Ubuntu 16.0.4上的VS Code版本1.17.2。我安装了VS Code的C ++扩展。安装扩展时有一条消息说扩展安装好了,但之后有很多重复的消息说“无法更新数据库”。

当我键入一些语法无效的东西时,没有红色的波形,如果我按下Ctl-Space,它只显示“正在加载......”但没有任何结果。状态栏上的红色火焰图标显示,当我将鼠标悬停在图标上时,我看到“正在更新Intellisense ...”,但图标似乎没有消失。

如果我#include一个不存在的标题,没有绿色的波形,但如果我保存文件,退出VS代码并重新打开,它们会在标题上显示绿色波浪线,但左边距没有灯泡。

3 个答案:

答案 0 :(得分:3)

我有完全相同的问题。我一直在玩设置和禁用/启用扩展程序。最后得到它设置以下,然后禁用/启用扩展(在两个后重新加载VS代码):

"C_Cpp.errorSquiggles": "Enabled",
"C_Cpp.intelliSenseEngine": "Tag Parser",
"C_Cpp.loggingLevel": "Information"

您也可以使用"重置智能感知数据库"命令,我跑了几次,这可能也有帮助。 我怀疑intelliSenseEngine设置就是那个诀窍。

修改 这不能启用所有功能,例如错误包括标记和"去定义"适用于包含,但代码完成没有。

答案 1 :(得分:0)

我遇到了完全相同的问题,在VirtualBox上运行了ElementaryOS。根据此评论(https://github.com/Microsoft/vscode-cpptools/issues/756#issuecomment-303513360),我将设置更改为

"C_Cpp.intelliSenseEngine": "Tag Parser"

事情似乎再次奏效。

答案 2 :(得分:0)

我在运行为Virtualbox VM(Windows 10主机)的Ubuntu 16.04 LTS上运行带有C / C ++ IntelliSense 0.15.0(Microsoft)的VS Code 1.19.2。所有x64操作系统。

在我的情况下,症状是底部状态栏中的一个反复出现的火焰状图标,暗示“更新智能感知......”似乎与挂起的进程有关。 一些“Microsoft.VSCod”进程不使用CPU ... 将鼠标悬停在代码上只是提示“正在加载......”。

将“C_Cpp.loggingLevel”更改为“Information”以分析输出窗口上的日志(根据https://github.com/Microsoft/vscode-cpptools/issues/1291线程中的请求)没有显示任何有用的内容......但症状在大多数情况下消失了。 / p>

将“C_Cpp.intelliSenseEngine”更改为“Tag Parser”之后事情变得更好了。燃烧的图标消失了,定义一直可用。