更多VSCode插件使用請訪問:VSCode常用插件匯總
當大家在公司工作時,不可能永遠是一個人維護一個項目,當多個人參與一個項目,每個人使用的編輯器不一樣,代碼風格自然也不一樣,那么如何讓使用不同編輯器的開發者能夠輕松愜意的遵守最基本的代碼規范呢?
最后終於找到了editorConfig這個東東,發現在這里配置的代碼規范規則優先級高於編輯器默認的代碼格式化規則。如果我沒有配置editorconfig,執行的就是編輯器默認的代碼格式化規則;如果我已經配置了editorConfig,則按照我設置的規則來,從而忽略瀏覽器的設置。
EditorConfig包含一個用於定義代碼格式的文件和一批編輯器插件,這些插件是讓編輯器讀取配置文件並以此來格式化代碼。
安裝
VSCode安裝非常簡單,直接在插件市場搜索EditorConfig for vs code 安裝就行了,安裝完畢記得重啟編輯器。
使用
- 在當前項目根目錄下添加.editorconfig文件
- 安裝EditorConfig擴展
- 全局安裝或局部安裝editorconfig依賴包(npm install -g editorconfig | npm install -D editorconfig)
- 打開需要格式化的文件並手動格式化代碼(Mac OS :shift+option+f Windows :shift+alt+f)
可以通過資源管理器側欄的上下文菜單右鍵選擇Generate .editorconfig,然后這個目錄下面就會創建出一個
.editorconfig文件了
,當然如果團隊里有已經配置好的這個文件,直接復制過來就行了。
下面說說它的常用配置和使用方法:
一、常用屬性配置
1、root<boolean> : 是否是頂級配置文件,設置為true的時候才會停止搜索.editorconfig文件
2、charset<"latin" | "utf-8" | "utf-8-bom" | "utf-16be" | "utf-16le"> : 文件編碼格式
3、indent_style<"tab" | "space"> : 縮進方式
4、indent_size<number> : 縮進大小
5、end_of_line<"lf" | "cr" | "crlf"> : 換行符類型
6、insert_final_newline<boolean> : 是否讓文件以空行結束
7、trim_trailing_whitespace<boolean> : 是否刪除行尾空格
8、max_line_length<number> : 最大行寬。
二、常用文件名匹配
1、* 匹配除/之外的任意字符
2、** 匹配任意字符串
3、? 匹配任意單個字符
4、[name] 匹配name字符
5、[!name] 不匹配name字符
6、[s1,s2,s3] 匹配給定的字符串
7、[num1..num2] 匹配num1到mun2直接的整數
目前VSCode並不是所有屬性都支持,所以只需要配置下面幾個屬性即可:
indent_style
indent_size
tab_width
end_of_line
(保存時)insert_final_newline
(保存時)trim_trailing_whitespace
(保存時)
使用建議
這個插件只能簡單的配置一些規范,並不能完全滿足需求,所以還需要其它代碼檢查工具配合使用,比如說:ESLint或StyleLint,統一代碼風格。
.editorconfig
# EditorConfig helps developers define and maintain consistent # EditorConfig幫助開發人員定義和維護一致性 # coding styles between different editors and IDEs # 不同編輯器和ide之間的編碼樣式 # 打開需要格式化的文件並手動格式化代碼(Mac OS :shift+option+f Windows :shift+alt+f) # editorconfig.org # editorconfig頂級配置文件,停止向上尋找配置文件 root = true [*] # change these settings to your own preference # 將這些設置更改為您自己的首選項 # 縮進樣式=空格 indent_style = space # 縮進大小=2 indent_size = 2 # we recommend you to keep these unchanged # 我們建議你保持這些不變 # 換行符類型 = lf end_of_line = lf # 字符集=utf-8 charset = utf-8 # 刪除行尾空格 = 是 trim_trailing_whitespace = true # 插入最后一行=真 insert_final_newline = true [*.md] # 刪除行尾空格 = 否 trim_trailing_whitespace = false [package.json] # 縮進樣式=空格 indent_style = space # 縮進大小=2 indent_size = 2