花了一上午解決,google和百度查的還都有點奇怪...不能解決問題,故Mark一下
Ubuntu環境中,使用VSCode編譯器,在儲存時自動格式代碼還是很友善的,有助于養成良好的程式設計習慣,也友善閱讀
一、在VSCode中下載下傳内置的Clang-Format插件
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2csUTQ6J2aOhkW0EjMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwgjN3UTO0gTMyETOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
二、本來以為這麼簡單就可以了,其實還要再安裝一下clang-format
在指令行輸入sudo apt-get install clang-format
安裝好該檔案
三、設定自定義的.clang-format檔案,并設定自動儲存
建立.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
}
這樣即可在儲存時自動格式化代碼啦~