Manjushaka / learn-react

学习react相关的技术栈,包括react,webpack,redux等。
0 stars 0 forks source link

EditorConfig介绍 #4

Open Manjushaka opened 6 years ago

Manjushaka commented 6 years ago

官网 统一不同编辑器代码风格的配置。 一个名称为 .editorconfig的自定义文件。部分编辑器原生支持,部分编辑器需要安装插件,这个可以在官网查询到(vs code需要安装插件)。 当打开一个文件时,EditorConfig会在打开文件的目录和其每一级父目录查找.editorconfig文件,直到到达最顶层目录或者是有一个配置.editorconfig文件且配置了root=true。 .editorConfig配置文件需要是UTF-8字符集编码的, 以回车换行或换行作为一行的分隔符。斜线(/)被用作为一个路径分隔符,井号(#)或分号(;)被用作于注释. 注释需要与注释符号写在同一行

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文件

例子1:

# 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

例子2:

# editorconfig.org

root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

[*.md]
# 解决markdown文件行尾空格自动删除的问题。markdown文件行尾三个空格来实现换行
trim_trailing_whitespace = false 
Manjushaka commented 6 years ago

vs code 工作区设置

// 将设置放入此文件中以覆盖默认值和用户设置。
{
  "editor.tabSize": 2,
  "prettier.tabWidth": 2,
  "prettier.eslintIntegration": true,
  "prettier.singleQuote": true,
  "typescript.quickSuggestionsForPaths": true,
  "path-intellisense.mappings": {
    "rrp": "${workspaceRoot}/src",
    "dyc": "${workspaceRoot}/framework/src"
  },
  "files.exclude": {
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true,
    "**/node_modules": true
  },
  "files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/**": true
  },
  "eslint.enable": true
}

vs code 用户设置

// 将设置放入此文件中以覆盖默认设置
{
    "workbench.colorTheme": "Enki Aster",
    "workbench.iconTheme": "material-icon-theme",
    "window.zoomLevel": 0,
    "editor.wordWrap": "on",
    "prettier.eslintIntegration": true,
    "editor.snippetSuggestions": "top"
}

.editorconfig的设置会覆盖用户/工作区设置。