1. 程式人生 > 其它 >統一程式碼風格工具——editorConfig

統一程式碼風格工具——editorConfig

文章轉載來自:

https://www.cnblogs.com/xiaohuochai/p/7160067.html

前面的話

  在團隊開發中,統一的程式碼格式是必要的。但是不同開發人員的程式碼風格不同,程式碼編輯工具的預設格式也不相同,這樣就造成程式碼的differ。而editorConfig可以幫助開發人員在不同的編輯器和IDE中定義和維護一致的編碼風格。本文將詳細介紹統一程式碼風格工具editorConfig

概述

  editorConfig不是什麼軟體,而是一個名稱為.editorconfig的自定義檔案。該檔案用來定義專案的編碼規範,編輯器的行為會與.editorconfig 檔案中定義的一致,並且其優先順序比編輯器自身的設定要高,這在多人合作開發專案時十分有用而且必要

  有些編輯器預設支援editorConfig,如webstorm;而有些編輯器則需要安裝editorConfig外掛,如ATOM、Sublime、VS Code等

  當開啟一個檔案時,EditorConfig外掛會在開啟檔案的目錄和其每一級父目錄查詢.editorconfig檔案,直到有一個配置檔案root=true

  EditorConfig的配置檔案是從上往下讀取的並且最近的EditorConfig配置檔案會被最先讀取. 匹配EditorConfig配置檔案中的配置項會按照讀取順序被應用, 所以最近的配置檔案中的配置項擁有優先權

  如果.editorconfig檔案沒有進行某些配置,則使用編輯器預設的設定

檔案語法

  editorConfig配置檔案需要是UTF-8字符集編碼的, 以回車換行或換行作為一行的分隔符

  斜線(/)被用作為一個路徑分隔符,井號(#)或分號(;)被用作於註釋. 註釋需要與註釋符號寫在同一行

【萬用字元】

[]

*                匹配除/之外的任意字串
**               匹配任意字串
?                匹配任意單個字元
[name]           匹配name中的任意一個單一字元
[!name]          匹配不存在name中的任意一個單一字元
{s1,s2,s3}       匹配給定的字串中的任意一個(用逗號分隔) 
{num1..num2}    匹配num1到num2之間的任意一個整數, 這裡的num1和num2可以為正整數也可以為負整數

[]

【屬性】

  所有的屬性和值都是忽略大小寫的. 解析時它們都是小寫的

[]

indent_style    設定縮排風格(tab是硬縮排,space為軟縮排)
indent_size     用一個整數定義的列數來設定縮排的寬度,如果indent_style為tab,則此屬性預設為tab_width
tab_width       用一個整數來設定tab縮排的列數。預設是indent_size
end_of_line     設定換行符,值為lf、cr和crlf
charset         設定編碼,值為latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建議使用utf-8-bom
trim_trailing_whitespace  設為true表示會去除換行行首的任意空白字元。
insert_final_newline      設為true表示使檔案以一個空白行結尾
root           表示是最頂層的配置檔案,發現設為true時,才會停止查詢.editorconfig檔案    

[]

例項

  下面的例項中使用 4 個空格來縮排,並不是說按一下空格會自動打出 4 個空格來,也不是說要連按 4 下空格;而是按 tab 鍵時,編輯器會自動輸出 4 個空格的寬度,而不是之前預設的製表符 (\t)

[]

# editorconfig.org

root = true

[*]
charset = utf-8
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true


[*.md]
trim_trailing_whitespace = false

[]