天天看點

vscode找不到config_VSCode常用插件之EditorConfig for vs code 使用

更多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  :  是否是頂級配置檔案,設定為true的時候才會停止搜尋.editorconfig檔案

2、charset     :    檔案編碼格式

3、indent_style    :  縮進方式

4、indent_size    :    縮進大小

5、end_of_line    :    換行符類型

6、insert_final_newline   :     是否讓檔案以空行結束

7、trim_trailing_whitespace  :   是否删除行尾空格

8、max_line_length    :    最大行寬。

二、常用檔案名比對

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

# 縮進大小=2indent_size= 2# we recommend you to keep these unchanged

# 我們建議你保持這些不變

# 換行符類型=lf

end_of_line=lf

# 字元集=utf-8charset= utf-8# 删除行尾空格=是

trim_trailing_whitespace= true# 插入最後一行=真

insert_final_newline= true[*.md]

# 删除行尾空格=否

trim_trailing_whitespace= false[package.json]

# 縮進樣式=空格

indent_style=space

# 縮進大小=2indent_size= 2