統一代碼風格工具——editorConfig

前面的話

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

 

概述

  editorConfig不是什麼軟件,而是一個名稱爲.editorconfig的自定義文件。該文件用來定義項目的編碼規範,編輯器的行爲會與.editorconfig 文件中定義的一致,而且其優先級比編輯器自身的設置要高,這在多人合做開發項目時十分有用並且必要webstorm

  有些編輯器默認支持editorConfig,如webstorm;而有些編輯器則須要安裝editorConfig插件,如ATOM、Sublime、VS Code等編輯器

  當打開一個文件時,EditorConfig插件會在打開文件的目錄和其每一級父目錄查找.editorconfig文件,直到有一個配置文件root=true工具

  EditorConfig的配置文件是從上往下讀取的而且最近的EditorConfig配置文件會被最早讀取. 匹配EditorConfig配置文件中的配置項會按照讀取順序被應用, 因此最近的配置文件中的配置項擁有優先權編碼

  若是.editorconfig文件沒有進行某些配置,則使用編輯器默認的設置spa

 

文件語法

  editorConfig配置文件須要是UTF-8字符集編碼的, 以回車換行或換行做爲一行的分隔符插件

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

【通配符】orm

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

【屬性】blog

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

indent_style    設置縮進風格(tab是硬縮進,space爲軟縮進)
indent_size     用一個整數定義的列數來設置縮進的寬度,若是indent_style爲tab,則此屬性默認爲tab_width
tab_width       用一個整數來設置tab縮進的列數。默認是indent_size
end_of_line     設置換行符,值爲lf、cr和crlf
charset         設置編碼,值爲latin一、utf-八、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
相關文章
相關標籤/搜索