想要 使用VS Code 编辑器的 settings.json配置时注意以下错误,Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used(检测到本地配置(即 .prettierrc 或 .editorconfig),VS Code 配置将不会被使用),这个时候需要保证项目根目录下删除括号中的两个文件。
未删除 .editorconfig 配置前的格式化日志 (摘自 VS Code terminal 面板 OUTPUT 标签面板):
["INFO" - 15:27:24] Formatting d:\TencentCloud\renewal-v3\src\pages\N20210025\config.js
["INFO" - 15:27:24] Using ignore file (if present) at d:\TencentCloud\renewal-v3\.prettierignore
["INFO" - 15:27:24] Using bundled version of prettier.
["INFO" - 15:27:24] File Info:
{
"ignored": false,
"inferredParser": "babel"
}
["INFO" - 15:27:24] Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used
["INFO" - 15:27:24] Prettier Options:
{
"filepath": "d:\\TencentCloud\\renewal-v3\\src\\pages\\N20210025\\config.js",
"parser": "babel",
"useTabs": false,
"tabWidth": 2,
"endOfLine": "lf"
}
["INFO" - 15:27:24] Formatting completed in 28.6093ms.
删除 .editorconfig 配置后的格式化日志:
No local configuration (i.e. .prettierrc or .editorconfig) detected, falling back to VS Code configuration (没有检测到本地配置(即 . prettierrc 或 . editorconfig), 回落到 VS Code 配置)
["INFO" - 16:18:17] Formatting d:\TencentCloud\renewal-v3\src\pages\N20210025\config.js
["INFO" - 16:18:17] Using ignore file (if present) at d:\TencentCloud\renewal-v3\.prettierignore
["INFO" - 16:18:17] Using bundled version of prettier.
["INFO" - 16:18:17] File Info:
{
"ignored": false,
"inferredParser": "babel"
}
["INFO" - 16:18:17] No local configuration (i.e. .prettierrc or .editorconfig) detected, falling back to VS Code configuration
["INFO" - 16:18:17] Prettier Options:
{
"arrowParens": "always",
"bracketSpacing": true,
"endOfLine": "lf",
"htmlWhitespaceSensitivity": "css",
"insertPragma": false,
"jsxBracketSameLine": false,
"jsxSingleQuote": false,
"printWidth": 80,
"proseWrap": "preserve",
"quoteProps": "as-needed",
"requirePragma": false,
"semi": false,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "none",
"useTabs": false,
"vueIndentScriptAndStyle": false,
"filepath": "d:\\TencentCloud\\renewal-v3\\src\\pages\\N20210025\\config.js",
"parser": "babel"
}
["INFO" - 16:18:17] Formatting completed in 33.1417ms.
代码格式规范 & Git 提交规范简介
对于代码格式规范,通过 ESLint + Prettier + VSCode 配置,达到了在保存代码时,自动规范化代码格式;
对于 Git 提交规范,通过 husky 监测 Git Hooks 钩子,通过约定式提交规范、commitizen、commitlint、husky(pre-commit、commit-msg 钩子)、lint-staged 几个插件的配置使用来约束代码的规范提交。
编辑器与 npm 的准备工作
Eslint 和 Prettier 都有 npm 包和 vscode 插件,他们的区别是 vscode 插件提供编辑器格式化和代码检查的功能,如果设置保存自动格式化和自动代码检查后,你可以实时的在控制台看到结果;npm 包是提供命令行的能力,用来配合脚本进行整个项目代码的检查,也可以配合后面 husky 在 git hook 中进行检查或格式化。
settings.json
在众多 git 提交规范化工具中,commitizen 是其中一个比较好用的一个工具,它的仓库名称是 cz-cli,它提供了一个
git cz
的指令用于代替 git commit,就是说当使用 commitizen 进行代码提交的时候,会在提交时填写一些必须的提交字段才会允许进行代码的提交。手动集成
可以直接尝试自动化集成(推荐)!!!
自动化集成(推荐)
使用 shell 脚本自动初始化集成代码规范
脚本做了哪些事情:
项目实践
1. 跳过 prettier 格式化
对于不同的文件,prettier 有不同的注释方式,详见 Prettier ignore
1px 问题,书写为 PX,添加 prettier 忽略注释
2. 跳过 eslint 校验规则
官方文档,通过注释来临时禁止规则出现警告, http://eslint.cn/docs/user-guide/configuring#disabling-rules-with-inline-comments
(1)、忽略下一行的校验
(2)、临时禁止一段代码
对指定的规则启用或禁用警告:
(3)整个文件忽略
3. VS Code 编辑器 settings.json 配置 prettier
vscode 编辑器统一的代码格式化的配置信息(vscode 本地安装需要 prettier 插件)
配置优先级:项目本地的 .prettierrc.js > 项目本地的 .vscode/settings.json > 编辑器的 settings.json
注意:格式化版本不一致
Detected local configuration (i.e. .prettierrc or .editorconfig), VS Code configuration will not be used
(检测到本地配置(即.prettierrc
或.editorconfig
),VS Code 配置将不会被使用),这个时候需要保证项目根目录下删除括号中的两个文件。未删除
.editorconfig
配置前的格式化日志 (摘自 VS Code terminal 面板 OUTPUT 标签面板):删除
.editorconfig
配置后的格式化日志:No local configuration (i.e. .prettierrc or .editorconfig) detected, falling back to VS Code configuration (没有检测到本地配置(即 . prettierrc 或 . editorconfig), 回落到 VS Code 配置)