项目风格统一[.editorconfig]

2024/9/29 Devops

​ 在前端项目中存在.vscode文件夹,文件夹下一般存在两个文件extensions.jsonsetting.json。作用是保持所有开发者安装了相同的插件和相同的配置,保持开发环境一致性。

# extensions.json

在当前项目中,需要安装哪些插件。

{
    "recommendations": [
        "vue.volar",
        "vue.vscode-typescript-vue-plugin",
        "hollowtree.vue-snippets",
        "dbaeumer.vscode-eslint",
        "stylelint.vscode-stylelint",
        "esbenp.prettier-vscode",
        "editorconfig.editorconfig",
        "streetsidesoftware.code-spell-checker",
        "syler.sass-indented",
        "mikestead.dotenv",
        "formulahendry.auto-rename-tag",
        "dsznajder.es7-react-js-snippets",
        "vincaslt.highlight-matching-tag",
        "oderwat.indent-rainbow",
        "techer.open-in-browser",
        "ritwickdey.liveserver"
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# settings.json

项目统一的vscode用户设置,和vscode全局配置冲突,会覆盖全局settings.json配置。

{
    "editor.fontSize": 16,
    "editor.formatOnType": true,
    // 保存文件时自动用 prettier 格式化
    "editor.formatOnSave": true,
    "files.autoSave": "afterDelay",
    "editor.codeActionsOnSave": {
        "source.fixAll.stylelint": true
    },
    //指定哪些文件不参与搜索
    "search.exclude": {
        "**/node_modules": true,
        "**/*.log": true,
        "**/*.log*": true,
        "**/bower_components": true,
        "**/dist": true,
        "**/elehukouben": true,
        "**/.git": true,
        "**/.gitignore": true,
        "**/.svn": true,
        "**/.DS_Store": true,
        "**/.idea": true,
        "**/.vscode": false,
        "**/yarn.lock": true,
        "**/tmp": true,
        "out": true,
        "dist": true,
        "node_modules": true,
        "CHANGELOG.md": true,
        "examples": true,
        "res": true,
        "screenshots": true,
        "yarn-error.log": true,
        "**/.yarn": true
    },
    // 指定哪些文件不被 VSCode 监听,预防启动 VSCode 时扫描的文件太多,导致 CPU 占用过高
    "files.watcherExclude": {
        "**/.git/objects/**": true,
        "**/.git/subtree-cache/**": true,
        "**/.vscode/**": true,
        "**/node_modules/**": true,
        "**/tmp/**": true,
        "**/bower_components/**": true,
        "**/dist/**": true,
        "**/yarn.lock": true
    },
    "stylelint.enable": true,
    "stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass", "html"],
    "editor.tabSize": 2,
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "files.eol": "\n",
    // 配置 VScode 使用 prettier 的 formatter
    "[vue]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[typescript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[json]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[jsonc]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[typescriptreact]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[scss]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[html]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[markdown]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    "[less]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
    },
    //拼写错误忽略
    "cSpell.words": [
        "babylonjs",
        "windi",
        "browserslist",
        "tailwindcss",
        "esnext",
        "axios",
        "vuex",
        "vueuse",
        "antv",
        "tinymce",
        "qrcode",
        "sider",
        "pinia",
        "sider",
        "nprogress",
        "INTLIFY",
        "stylelint",
        "esno",
        "vitejs",
        "sortablejs",
        "mockjs",
        "codemirror",
        "iconify",
        "commitlint",
        "vditor",
        "vite",
        "echarts",
        "cropperjs",
        "logicflow",
        "zxcvbn",
        "lintstagedrc",
        "brotli",
        "tailwindcss",
        "sider",
        "pnpm",
        "antd"
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122

# .editorConfig 配置

# @see: http://editorconfig.org

root = true

[*] # 表示所有文件适用
charset = utf-8 # 设置文件字符集为 utf-8
end_of_line = lf # 控制换行类型(lf | cr | crlf)
insert_final_newline = true # 始终在文件末尾插入一个新行
indent_style = space # 缩进风格(tab | space)
indent_size = 2 # 缩进大小
max_line_length = 130 # 最大行长度

[*.md] # 表示仅对 md 文件适用以下规则
max_line_length = off # 关闭最大行长度限制
trim_trailing_whitespace = false # 关闭末尾空格修剪
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
上次更新: 2024/9/29 02:21:33