新手求教VS CODE為什麼C/C++無代碼補全?
裝的是VS code推薦的C/C++拓展,好像上一次更新之後就沒有自動補全代碼了,這次更新還是沒有,是我哪裡設置錯了么?特意試了一下其他語言,其他語言還能自動補全,但是C/C++不行。。。。。
C/C++ 插件沒做補全
最完整的補全是一個叫做 Clang 的插件做的。聽名字就知道了,你還得裝個 Clang。
首先得安裝官方的插件ms-vscode.cpptools。
我用的mac版, 在Code-&>首選項-&>設置 里可以找到,默認是關閉狀態,設置為true打開即可。如果找不到直接複製如下代碼,可放在用戶設置或者工作區設置,後者只針對當前project生效。
{
"[cpp]": {
"editor.quickSuggestions": true
},
"[c]": {
"editor.quickSuggestions": true
}
}
目前官方的c/c++插件也可以開啟語義補全了,需要設置
"C_Cpp.intelliSenseEngine": "Default",
該項默認的是基於TAG的補全
===============================================
官方的c/c++插件已經有了基於tag的補全,如果需要更智能的語義補全,需要使用基於clang的插件,一個是youcompleteme for vscode,一個是c/c++ clang command adapter。youcompleteme在vim上無敵,但vscode上還是後面一個表現好點
要修改配置文件,在File-&>Preferences-&>Settings下,配置:
{
"editor.minimap.enabled": true,
"C_Cpp.autocomplete": "Default",
"[cpp]": {
"editor.quickSuggestions": true
},
"[c]": {
"editor.quickSuggestions": true
}
}
首先裝一個叫C/C++的插件 microsoft官方出的
再安裝一個叫C/C++ Clang Command Adapter的插件 在vscode的偏好/設置中配置好你的clang路徑 比如 "clang.executable": "/usr/local/bin/clang"
這樣變數名補全 [".", ":", ">"]字元觸發 錯誤提示 轉跳函數的聲明/定義都有了
裝推薦的C++插件或Clang插件就可以補全了,需要自己手動在配置文件里啟用(貌似默認禁用)。不過這個補全功能我給差評,一般補全提示都不是我想要的。總是一大堆宏、莫名其妙的內建類型等等,就是很難找到我想要的類成員,改來改去也沒個滿意的,最後乾脆關掉插件的補全,用VSCODE自帶的語義補全,反而感覺不錯。
設置include目錄之後好想就可以自動補全了吧 我用的是insider 應該是一樣的
似乎新版插件默認是關閉自動代碼提示的,你試下按Ctrl + 空格能否出現補全提示。
如果可以,你需要去首選項裡面手動開一下自動提示。
我的也是無法補全
推薦閱讀:
TAG:代碼補全 | VisualStudioCode |