1. c/c++
Windows, Linux, and macOS上c/c++的跨平台開發。特征:智能感知、調試、源代碼格式化等
相關配置:
"C_Cpp.clang_format_fallbackStyle": "{ BasedOnStyle: Google, ColumnLimit: 120}", //這里我只需要行列寬度為120的需求 "C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools", //配置configurationProvider,否則,找自定義頭文件時有煩人的波浪線
2. CMake Tools
特征:配置、構建和調試一c++ CMake項目
依賴“1.c/c++”插件、“CMake”
- 命令面板中的命令:
- 其次,狀態欄也可以配置、構建:
- 記錄1:設置根CMakeList.txt路徑(相對當前打開的文件夾路徑)
體現在全局(設置的工作區).vscode/setting.json中:
"cmake.sourceDirectory": "${workspaceFolder}/src", //cmake插件,找源CMakeLists.txt
- 記錄2:源碼引用的頭文件遇到紅色波浪線,錯誤如下:
基於 configurationProvider 設置提供的信息檢測到 #include 錯誤。已針對此翻譯單元(XXXX)禁用波形曲線。C/C++(1696)
這種情況需要在settings.json中添加一個配置項,使配置的信息來源於cmake。
“C_Cpp.default.configurationProvider”: “ms-vscode.cmake-tools”
項目要求之一:CPPLint靜態檢查。為了應對此項要求,安裝三個插件:cpplint, Clang-Format, koroFileHeader
3. cpplint
特征:打開和保存源文件時,檢查CPP和c的編碼風格
- 設置CppLint路徑:
體現在全局(設置的工作區).vscode/setting.json中:
"cpplint.cpplintPath": "/home/zz/GitLab/weblmt/cpplint.py", //cpplint插件找cpplint.py的路徑
- 命令面板中的命令:
4. Clang-Format
【這段新增於2021-11-05】安裝clang-format插件的替代方案:
插件1 c/c++ 中已經有了格式化的方案:
其中:Clang_format_style 決定格式化形式,若為file,則調用在workspace中的.clang-format
clang-format工具使用.clang-format來實現自定義格式化,使用" clang-format -style=可選格式名 -dump-config > .clang-format
"導出clang-format,其中可選格式名為:LLVM、Google等。若要在團隊中統一格式,則配置此文件即可。
C_Cpp: Clang_format_fallback Style選項則是在 Clang_format_style=file失效(即找不到.clang-format文件時)的應對方案。參考截圖中可以配置的value。
在這里我的方案是,Clang_format_style=file,以應對以后團隊中為統一格式而生成.clang-format文件。目前沒有此文件,所以走Clang_format_fallback Style選項中的{key:value...},即{ BasedOnStyle: Google, ColumnLimit: 120}//這里我只有列最大120的需求(ps,vscode編輯器中顯示列標尺的設置:“editor.rulers:[120]”)
最后,在代碼編輯器中,右鍵-使用...格式化文檔-配置默認格式化程序,改為c/c++插件即可。
【這段新增於2021-11-05,結束】
"3. cpplint"只能按照指定腳本(+ CPPLINT.cfg)的Google Stype檢查C++代碼是否符合要求並指出不符合需要修改的地方,但是沒有format的功能。可以使用Clang-Format將源碼格式化成google風格。
- 首先,在環境中安裝clang-format可執行文件,先在bash中執行:
sudo apt-get install clang-format
- 安裝插件
- 設置1:在此插件的擴展設置中搜索關鍵詞:"Clang-format: Fallback Style", "Clang-format: Style"。此兩項設置為 Google
體現在全局(設置的工作區).vscode/setting.json中:
"clang-format.fallbackStyle": "Google",
"clang-format.style": "Google"
- 設置2:保存源碼時自動保存。
"editor.formatOnSave": true, //保存時自動化格式化(配置了clang-format為默認的格式化工具,其中配置了google風格)
- 此外也可以鼠標右鍵用格式化
備注:我理解的此插件是調用clang-format工具。可以設置格式化規則:GOOGLE、LLVM等。要是設置成file,就按照路徑下的 .clang-format文件 規則來自定義格式化。這里設置為Google風格格式化,但是並非項目中"3. cpplint"設置的項目中的CppLint路徑(此腳本按照CPPLINT.cfg規則進行刪減),而設置的google風格為全集。比如CPPLINT.cfg中限制的一行代碼長度為120(linelength=120),但是經過此格式化以后按照GOOGLE風格默認的80。
因此想要自定義+簡單的話 建議使用上述c++插件中的Clang_format_fallback Style中自定義,這樣不用自己生成.clang-format文件。
5. koroFileHeader
特征:在vscode中用於生成文件頭部注釋和函數注釋的插件。為滿足cpplint檢查中源碼中頭部需要有版權聲明等要求。利用此插件按照既定格式插入頭部、函數注釋。
- 設置: Custom Made 對於頭部注釋、Cursor Mode 對應函數注釋。
體現在全局(設置的工作區).vscode/setting.json中:
"fileheader.customMade": { //快捷鍵 ctrl+cmd+i,按照下面的key/value生成文件頭注釋
"Copyright": "Copyright Datang Mobile, Inc.",
"Author": "zhangzhong",
"Date": "Do not edit",
"Description": "file content",
},
- 快捷鍵:
文件頭部添加注釋:快捷鍵:window:ctrl+alt+i,mac:ctrl+cmd+i, linux: ctrl+meta+i
在光標處添加函數注釋:快捷鍵:window:ctrl+alt+t,mac:ctrl+cmd+t,linux: ctrl+meta+t
綜上,.vscode/setting.json中的配置如下:
參考
如何在vscode下將C++代碼格式化成Google Style
vscode C++ 開發配置 google code style