在寫c/c++ 代碼的時候,經常需要格式化代碼,提高可讀性, 這里介紹幾種方法方便格式化
安裝工具
Clang( 附帶安裝clang-tidy,git-clang-format,clang-tidy-format)
$clang-format -version
clang-format version 10.0.0
which clang-format
/usr/bin/clang-format
使用
clang-format -i -style=file test.cpp
-i 表示覆蓋文件,否則會把格式化的文件打印出來
-style 是風格設置, file 時會在工作目錄查找.clang-format
文件,這個文件可以在官網下載,然后自己根據需要修改。
vscode 集成
- 安裝c/c++ 插件后,配置settings.json
// "C_Cpp.errorSquiggles": "Disabled", // 因為有clang的lint,所以關掉
// "C_Cpp.clang_format_sortIncludes": true, // 格式化時調整include的順序(按字母排序)
// "C_Cpp.clang_format_path": "/usr/bin/clang-format",
// "C_Cpp.clang_format_style": "file"
- 配置save 時進行格式化
git 集成
clang 提供了 git-clang-format 的工具, 當stage 文件之后, 執行 git-clang-format 可以格式化代提交的代碼, 比起vscode 的自動格式化,這種效率比較高
git-clang-format
changed files:
test/test.cpp
當沒有文件stage 時
$git-clang-format
clang-format did not modify any files