editorconfig文件的使用

.editorconfig是一種通用的編輯器(或者IDE)配置文件,幾乎全部的主流編輯器都內建了或者通過插件完成了對.editorconfig文件的解析和支持。

下面會具體的說明我們採用.editorconfig的作爲通用配置的一些原因,以及.editorconfig一些比較有意義的特性。這些特性不僅僅對於個人開發有意義,在一個團隊或者組織內部,使用公共的.editorconfig文件,也可以以極低的成本帶來非常好的整體代碼一致性。

首先就是上面已經提到的.editorconfig對於編輯器或者IDE的通用性。這就可以讓使用不同編輯器和不同開發語言的開發人員,無論是Emacs還是Vim,無論是Python還是Javascript,都可以遵循相同的配置文件的來規範代碼的一些基本的樣式。甚至如果需要修改一些自己不經常維護的代碼(不在自己的日常職責之內),比如後端工程師修改一些前端的代碼(也許後端工程師會用一個自己常用的編輯器來修改,但這個編輯器很可能不是前端的常用的),都可以通過.editorconfig規範基本的樣式。哪怕是隻有自己一個人在用的時候,可以可以統一自己的不同的編輯器或者IDE的基礎樣式。

第二個要說到的是.editorconfig的向上級目錄遞歸上溯的特性。使用支持的編輯器打開文件後,編輯器會首先在當前目錄下尋找.editorconfig文件,然後遞歸的逐級上溯尋找每一層上級目錄的.editorconfig文件,知道達到根目錄或者帶有root=true屬性的文件爲止。對於所有找到的這些文件來說,任何一個屬性,都是以最先找到的.editorconfig中的對應屬性爲準,也就是說下級目錄的屬性會覆蓋上級目錄的相同屬性的設定。比如所,如果我們有一個全部代碼的根目錄~/code/,可以把.editorconfig文件就放在這個目錄下,那麼~/code/下的任何目錄,類似~/code/super-awesome-scroller/, ~/code/backend/middleware/queue/等等,都可以這個配置文件作爲統一的基礎配置。同時,因爲下級目錄中的.editorconfig可以覆蓋上級目錄中的相同屬性,我們也可以把團隊的配置文件作爲基礎配置,在一個個性化的項目中,可以在這個基礎上,再定義專門用於這個項目的代碼樣式。

第三個是.editorconfig基於文件類型的篩選機制,每一種配置都可以針對文件類型來具體配置。這樣在設定給團隊的的不同的開發崗位的的統一基礎代碼樣式,並且對每一種語言都進行針對性的配置,避免不同的開發語言之間的配置的衝突。

第四個是.editorconfig僅配置一些通用的代碼樣式,比如每一行的末尾是LF還是CRLF(這個屬性就非常有用,可以用來統一分別在Windows和*nix操作系統上編輯的代碼)。這樣可以儘可能減少對的具體的語言的干預,針對每一種語言,我們仍然可以去設定具體的樣式,比如加不加分號等等。一個可以通用的標準,一定是一個兼容性強,只規定最基本的屬性的標準。這樣也可以讓.editorconfig更加的通用。

從第三點和第四點來說,.editorconfig是一個比較容易的做到一個團隊,一個統一的基礎代碼樣式文件的代碼樣式配置機制。這樣的配置文件不僅僅可以輔助個人的開發,也可以作爲技術團隊一個整體的基礎標準。

最後,補充幾種常用編輯器中,editorconfig的配置方法:

 

Emacs

emacs對於editorconfig的支持需要安裝一個插件,https://github.com/editorconfig/editorconfig-emacs,可以從release中下載一個版本出來,然後加壓到比如~/.emacs.d/editorconfig-emacs/中,那麼可以在.emacs配置文件中加入

(add-to-list 'load-path "~/.emacs.d/editorconfig-emacs")

(require 'editorconfig)

(editorconfig-mode 1)

注意這個插件需要依賴editorconfig core,如果在Windows中,可以通過chocolatey安裝:

choco install editorconfig.core

Visual Studio Code

Visual Studio Code需要安裝插來支持editorconfig,直接在EXTENSIONS中搜索editorconfig,安裝最新版的插件即可使用。

Android Studio

Android Studio無需要安裝插件,直接支持.editorconfig(需要enable一個設置),如果沒有做過特殊的配置,Android Studio是默認啓動這個設置的。 如果需要修改這個設置,那麼這個配置在

Settings -> Editor -> Code Style -> Enable EditorConfig support

如果需要進一步瞭解editorconfig,可以訪問其官網 http://editorconfig.org/

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章