visualstudio代码没有在ubuntu上自动完成c++中的std::

visual studio code is not autocompleting std:: in c++ on ubuntu

本文关键字:c++ 中的 std 代码 ubuntu visualstudio      更新时间:2023-10-16

我要查找的行为是当我键入时

using std::co,然后我希望它自动完成定制(或至少建议(

using std::vect,然后我希望它自动完成向量

我在笔记本电脑上安装了它,它运行得很好。。。只是在我的主vm上没有。遗憾的是,经过几个小时的修补和谷歌搜索,没有找到答案。

已安装c++,构建要素,clang-format-3.8vscode、c++扩展和c++自动完成。注意到一个有效的方法将其添加到了c_cpp_properties中(我并不希望clang会有所帮助,但没有其他选择。(

,
    "clang_format" : {
        "style" : "file",
        "fallback-style" : "LLVM",
        "sort-includes" : false
    }

我认为这可能是软件包的差异,但我看不出差异在哪里。如果有差异,我也找不到vscode配置中的差异。

它也不会自动完成任何包含的标头。

事实上,我也没有得到usinginclude的自动补全。在一个不起作用的选项中,我有任何自动完成选项,显示了进入/usr/include/c++/5的路径,在它起作用的系统上,我没有得到任何路径信息,只有一个abc图标和我想要的命令。

编辑:实际上这并不能修复std::<blah>自动完成

atm似乎不工作。

修复方法:文件=>首选项->工作区设置

然后在用户中覆盖这个:

{
    "C_Cpp.autocomplete": "Disabled"
}

如果你滚动到默认设置的底部,你会看到

    // Controls auto completion for C/C++ code.
'Default' uses an experimental recursive directory tag parser (as of right now).
'Disabled' uses the word based completion provided by Visual Studio Code.
    "C_Cpp.autocomplete": "Default"

当我在github:上看到这个问题时发现了这一点

https://github.com/Microsoft/vscode-cpptools/issues/189