天天看點

Ubuntu下VSCode配置Clang-format,并在儲存時自動格式化代碼的方法(帶配置檔案)

花了一上午解決,google和百度查的還都有點奇怪...不能解決問題,故Mark一下

Ubuntu環境中,使用VSCode編譯器,在儲存時自動格式代碼還是很友善的,有助于養成良好的程式設計習慣,也友善閱讀

一、在VSCode中下載下傳内置的Clang-Format插件

Ubuntu下VSCode配置Clang-format,并在儲存時自動格式化代碼的方法(帶配置檔案)

二、本來以為這麼簡單就可以了,其實還要再安裝一下clang-format

在指令行輸入sudo apt-get install clang-format

安裝好該檔案

三、設定自定義的.clang-format檔案,并設定自動儲存

建立.clang-format檔案到工作目錄下,如圖

Ubuntu下VSCode配置Clang-format,并在儲存時自動格式化代碼的方法(帶配置檔案)

在裡面自己寫好希望儲存的代碼格式,本人比較喜歡google的格式,稍微加了一點改動,僅供參考

#基礎樣式
BasedOnStyle: Google
#指針的*的挨着哪邊
PointerAlignment: Right
#通路修飾符前的空格
AccessModifierOffset: -4
# 縮進寬度
IndentWidth: 4
# 連續的空行保留幾行
MaxEmptyLinesToKeep: 1
# 圓括号的換行方式
BreakBeforeBraces: Attach
# 是否允許短方法單行
AllowShortFunctionsOnASingleLine: true
# 支援一行的if
AllowShortIfStatementsOnASingleLine: true
# 在未封閉(括号的開始和結束不在同一行)的括号中的代碼是否對齊
AlignAfterOpenBracket: true
# switch的case縮進
IndentCaseLabels: true
# 針對OC的block的縮進寬度
ObjCBlockIndentWidth: 4
# 針對OC,屬性名後加空格
ObjCSpaceAfterProperty: true
# 每行字元的長度
ColumnLimit: 120
# 注釋對齊
AlignTrailingComments: true
# 括号後加空格
SpaceAfterCStyleCast: false
# 換行的時候對齊操作符
AlignOperands: true
# 中括号兩邊空格 []
SpacesInSquareBrackets: false
# 多行聲明語句按照=對齊
AlignConsecutiveDeclarations: false
# 容器類的空格 例如 OC的字典
SpacesInContainerLiterals: false
# 在構造函數初始化時按逗号斷行,并以冒号對齊
BreakConstructorInitializersBeforeComma: true
# 函數參數換行
AllowAllParametersOfDeclarationOnNextLine: true
#在續行(#     下一行)時的縮進長度
ContinuationIndentWidth: 4
# tab鍵盤的寬度
TabWidth: 4
# 指派運算符前加空格
SpaceBeforeAssignmentOperators: true
# 行尾的注釋前加1個空格
SpacesBeforeTrailingComments: 1
           

自動儲存的話,則是在上面的目錄中的settings.json中,加入

{
    "editor.formatOnSave": true
}
           

這樣即可在儲存時自動格式化代碼啦~