EditorConfig

參考資料:git

示例

# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,py}]
charset = utf-8

# 4 space indentation
[*.py]
indent_style = space
indent_size = 4

# Tab indentation (no size specified)
[Makefile]
indent_style = tab

# Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2

# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2
[**]
indent_style=space
indent_size=2
# tab_width=2
end_of_line=lf
charset=utf-8
trim_trailing_whitespace=false
insert_final_newline=true
root=true

應用範圍

位於[]內的字符串指示其下方屬性的應用範圍。github

該字符串由普通字符與下列通配符組成:json

  • *:匹配任何字符串,除了路徑分隔符(/)。
  • **:匹配任何字符串
  • ?:匹配任何單個字符
  • [name]:匹配任何單個字符name
  • [!name]:匹配任何不是name的單個字符
  • {s1,s2,s3}:匹配字符串s1s2s3
  • {num1,num2}:匹配num1num2之間的整數

屬性

indent_style

縮進方式。候選值:windows

  • space:空格
  • hard-tabs:製表符

indent_size

一個縮進級別的空格數。候選值:ide

  • 整數:規定每級縮進的列數和soft-tabs的寬度(譯註:空格數)
  • tab:使用屬性tab_width的值

tab_width

一個縮進級別的列數。通常無需指定。候選值:編碼

  • 整數:用於指定替代tab的列數

end_of_line

換行符。候選值:spa

  • lf:Linux 換行符 \n
  • cr:macOS 換行符 \r
  • crlf:windows 換行符 \r\n

charset

編碼格式。候選值:code

  • latin1
  • utf-8
  • utf-8-bom(不建議使用)
  • utf-16be
  • utf-16le

trim_trailing_whitespace

除去行尾的任意空白字符。候選值:ip

  • true:啓用
  • false:停用

insert_final_newline

確保文件以一個空白行結尾(若必要則添加)。候選值:utf-8

  • true:啓用
  • false:停用

root

支持EditorConfig的IDE會安裝目錄從裏往外的順序搜索匹配.editorconfig文件。

屬性root指示是否繼續向上搜索匹配。候選值:

  • true:搜索匹配到本級目錄爲止
  • false:繼續向上級搜索匹配

註釋

#;開頭的整行是註釋,IDE不解析。

相關文章
相關標籤/搜索