c++ - 如何在带有Visual Studio Code的Chromium中使用自动补全

标签 c++ json autocomplete visual-studio-code chromium

我正在使用Windows并尝试使用带有本指南you-complete-me的VS Code中的Visual Studio Code Dev扩展名自动补全功能,但随后出现了以下问题:
enter image description here

接下来是above guide,我尝试在工作区设置中设置you-complete-me:

"ycmd.path": "C:/Program Files/~/.ycmd",
"ycmd.global_extra_config":"D:/chromium/depot_tools/src/tools/vim/chromium.ycm_extra_conf.py",
"ycmd.confirm_extra_conf": false, 

其次是问题,我通过以下命令生成了compile_command.json文件:
ninja -C out/Default -t compdb cc cxx objc objcxx > out/Default/compile_commands.json

然后在c_cpp_properties.json文件中,我更新了“includePath”,“browse”路径,并将上述compile_commands.json文件的路径添加到了“compileCommands”中:
        "name": "Win32",
        "includePath": [
            "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.12.25827/include/*",
            "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.12.25827/atlmfc/include/*",
            "C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/um",
            "C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/ucrt",
            "C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/shared",
            "C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/winrt",
            "${workSpaceRoot}",
            "D:/chromium/depot_tools/src"
        ],
        "compileCommands": "D:/chromium/depot_tools/src/out/Default/compile_commands.json",
        "defines": [
            "_DEBUG",
            "UNICODE"
        ],
        "intelliSenseMode": "msvc-x64",
        "browse": {
            "path": [
                "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.12.25827/include/*",
                "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.12.25827/atlmfc/include/*",
                "C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/um",
                "C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/ucrt",
                "C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/shared",
                "C:/Program Files (x86)/Windows Kits/10/Include/10.0.16299.0/winrt",
                "${workSpaceRoot}",
                "D:/chromium/depot_tools/src"
            ],
            "limitSymbolsToIncludedHeaders": true,
            "databaseFilename": ""
        }

但是什么也没有发生,这些问题仍然出现。谁能帮助我解决这些问题,或为我推荐一个清晰的指南来开始使用VS Code中的 Chrome ?

最佳答案

我花了一些时间尝试使YCM在Windows上运行,但没有运气。但是,我能够使IntelliSense正常工作。首先,请确保您已安装C/C++扩展名。

c_cpp_properties.json:

{
  "configurations": [
    {
      "name": "Win32",
      "includePath": [
        "${workspaceFolder}/**"
      ],
      "defines": [
        "_DEBUG",
        "UNICODE",
        "_UNICODE"
      ],
      "windowsSdkVersion": "10.0.17134.0",
      "compilerPath": "${workspaceFolder}/third_party/llvm-build/Release+Asserts/bin/clang-cl.exe",
      "compileCommands": "${workspaceFolder}/out/Default/compile_commands.json",
      "cStandard": "c11",
      "cppStandard": "c++17",
      "intelliSenseMode": "clang-x64"
    }
  ],
  "version": 4
}

我使用此命令生成compile_commands.json:
python tools/clang/scripts/generate_compdb.py -p out/Default -o out/Default/compile_commands.json

此外,除非您知道如何使它工作,否则我建议您卸载/禁用YCM,因为它会干扰C / C++扩展。

关于c++ - 如何在带有Visual Studio Code的Chromium中使用自动补全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48304336/

相关文章:

c++ - C++ 中的编码实践,您的选择是什么,为什么?

ios - 文本更改动画与 ios 8 键盘文本预测相同

r - 是否可以在 Emacs ESS 中获得类似于 Rstudio 中可用的代码完成的代码?

php - 多输入字段 jquery.autocomplete

javascript - 在 json 中声明动态键(javascript、node)

json - 将 CellSet 对象转换为 JSON 结果

python - 如何在 gem5 中创建区域缓存

c++ - Cario 的文本区域 :OpenGL

c++ - Arduino 使用 sscanf 读取 float

Javascript Json对象,通过Key String按值获取.. Ex : GetMyVal(MyKeyInString)