vscode進階:C/C++開發環境配置

本文主要介紹vscode上使用cmake作爲編譯配置工具的C/C++開發環境配置。
包括提高效率的插件、代碼風格規範化的相關設置。

一 必備插件

1 C/C++

微軟官方插件,提供對C/C++語言的支持,比如代碼提示、調試。

該插件有自己的配置界面,通過CMD/Ctrl+Shift+P輸入C/C++: Edit Configurations(UI)進行配置。如下圖:

常規設置包括(一般無需改動):

  1. 編譯器路徑設置
  2. 編譯器參數(這個一般通過CMakeLists.txt或者編譯腳本進行配置)
  3. 頭文件路徑(系統頭文件路徑是默認包含的,可以在這裏添加其他庫的路徑)
  4. C/C++標準(筆者目前用的最多的還是c99,c++11)

針對不同平臺可以有不同設置,如果使用多個平臺的電腦將會是很有用的。

2 CMake Tools

微軟官方插件,提供對CMake的支持。
比如最常用的設置cmake的編譯目錄(cmake.buildDirectory,默認爲:${workspaceFolder}/build)。

3 CMake

這個插件也包含在CMake Tools中,提供對CMake語法支持、代碼高亮,提高編寫效率。

二 推薦插件

1 C/C++ Include Guard

提供頭文件保護宏自動插入功能,保護宏的格式可以進行一些配置。具體配置在推薦配置中介紹。

2 cpplint

依賴於cpplint可執行文件,Ubuntu/MacOS下可以通過命令安裝:

pip install cpplint

Windows下可以安裝到任意目錄,隨後將其路徑添加到環境變量即可,也可以通過cpplint插件的配置cpplint.cpplintPath進行設置。

3 Better Comments

提供不同語言的代碼註釋自動生成及高亮功能,在c函數前一行輸入/**回車即可自動插入規範的c接口函數塊註釋,如下圖:

註釋務必務實,不要過於花哨,編寫規範的註釋是提升代碼顏值很重要的一部分;
不規範的註釋不如沒有註釋。

三 推薦配置

1 C/C++插件

推薦使用如下配置:

  1. 自動排序include
  2. 使用Google的coding style作爲代碼格式化的標準

配置內容如下:

{
    "C_Cpp.clang_format_fallbackStyle": "Google",
    "C_Cpp.clang_format_sortIncludes": true,
}

2 CMake Tools插件

CMake Tools默認在編輯時自動配置,但是這樣實在過於惱人,建議關閉,修改爲在打開項目時配置一次:

{
    "cmake.configureOnEdit": false,
    "cmake.configureOnOpen": true,
}

3 C/C++ Include Guard插件

對於頭文件保護宏的格式,Google的coding style的要求所有頭文件都應該使用#define來防止頭文件被多重包含, 命名格式應當是: <PROJECT>_<PATH>_<FILE>_H_。

比如foo/bar/baz.h可按如下方式保護:

#ifndef FOO_BAR_BAZ_H_
#define FOO_BAR_BAZ_H_
...
#endif // FOO_BAR_BAZ_H_

通過如下設置即可滿足此規範要求:

{
    "C/C++ Include Guard.Comment Style": "Line",
    "C/C++ Include Guard.Macro Type": "Filepath",
    "C/C++ Include Guard.Remove Extension": false,
    "C/C++ Include Guard.Suffix": "_",
}

4 針對C/C++語言和代碼風格的設置

設置c/c++的縮進,並在保存時自動格式化:

{
    "[c]": {
        "editor.formatOnSave": true,
        "editor.quickSuggestions": {
            "comments": false,
            "other": true,
            "strings": false
        },
        "editor.tabSize": 2
    },
    "[cpp]": {
        "editor.formatOnSave": true,
        "editor.tabSize": 2
    },
}

5 文件格式

文末保持一行空行,並且刪除行末的空白字符:

{
    "files.insertFinalNewline": true,
    "files.trimFinalNewlines": true,
    "files.trimTrailingWhitespace": true,
}

如果同時在windows和linux下開發,可以設置"files.eol",把換行符也固定爲"\n"。

四 常用操作

1 重構代碼

光標放到在函數名、參數名上按F2重構變量名。
如果沒有安裝重構工具rope,按提示安裝即可。

重構前,也可以先用Shift+F12查看所有引用。

重構是很重要的,所以多提幾次。

2 CMake配置

在修改完CMakeLists.txt後,可以通過CMD/Ctrl+Shift+P打開命令面板,選擇CMake Configure手動執行配置;執行編譯則選擇CMake: Build

如果CMakeLists.txt不在項目的根目錄,執行CMake Configure後會出現如下提示:

選擇創建則在項目根目錄創建一個新的CMakeLists.txt,或者選擇查找選擇CMakeLists.txt所在目錄。

到目前(1.52.1版本)爲止,在ubuntu上,vscode使用cmake感覺問題不是很大,只是有時候配置不更新,此時可以直接刪除項目根目錄下的build目錄,重新生成一下。

3 在聲明、定義之間跳轉

一般使用CMD/Ctrl+鼠標單擊函數名即可,但是還有指定的快捷鍵,不同系統可能略有差異,可按需記憶。

4 觸發參數提示

在調用函數的時候,vscode會自動彈出參數提示,可以通過ESC關閉,關閉後可以通過快捷鍵Ctrl+Shift+Space喚出。
但是這個快捷鍵可能會被輸入法佔用,可以修改綁定快捷鍵,通過快捷鍵Ctrl+K Ctrl+S打開快捷鍵設置窗口,搜索editor.action.triggerParameterHints,修改快捷鍵即可。

5 格式化代碼

Ubuntu下使用Ctrl+Shift+I,MacOS使用Alt+Shift+F,但是根據筆者前面推薦的設置,在保存的時候自動格式化,那麼使用CMD/Ctrl+S保存代碼的同時即完成了格式化。

以上便是vscode針對c/c++開發需要進行的設置,一些基礎的設置可以查看之前的文章。

  1. vscode入門:熟悉vscode和初級配置
  2. vscode進階:高效的鍵盤操作
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章