在團隊開發中,統一的程式碼格式是必要的。但是不同開發人員的程式碼風格不同,程式碼編輯工具的預設格式也不相同,這樣就造成程式碼的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
以上是程式碼書寫風格同一的工具——editorConfig的詳細內容。更多資訊請關注PHP中文網其他相關文章!