javascript - 如何在 VsCode 上的 Vue 项目中添加 eslint 规则以更漂亮
问题描述
我想在我现有的格式化规则中添加规则
实际上我正在使用.vscode/settings.json
具有以下内容的文件
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": ["javascript"],
"vetur.useWorkspaceDependencies": true,
"vetur.validation.style": false,
"vetur.format.defaultFormatter.scss": "prettier",
"vetur.format.defaultFormatter.css": "prettier",
"vetur.format.defaultFormatter.js": "prettier-eslint",
"vetur.format.defaultFormatter.html": "prettier",
"[vue]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "octref.vetur",
},
"eslint.format.enable": true
}
它运作良好,但假设我想为示例vue-script-indent添加一个规则
我不知道如何将此规则添加到我现有的配置中
解决方案
vue/script-indent
(ESLint 规则)
创建
.eslintrc.*
文件以配置规则。另请参阅:http ://eslint.org/docs/user-guide/configuring 。示例.eslintrc.js:
module.exports = { extends: [ // add more generic rulesets here, such as: // 'eslint:recommended', 'plugin:vue/essential' ], rules: { // override/add rules settings here, such as: // 'vue/no-unused-vars': 'error' } }
因此,在您的 中.eslintrc.js
,将script-indent
规则添加到rules
属性中。请注意,eslint-plugin-vue
规则名称都带有前缀vue/
,因此请"vue/script-indent"
在下面的rules
属性中使用:
module.exports = {
extends: [
'plugin:vue/essential',
],
rules: {
'vue/script-indent': ['error', 2, {
baseIndent: 0,
switchCase: 0,
ignores: []
}]
}
}
最后,确保您安装了ESLint VS Code 扩展以启用从 IDE 进行格式化。
更漂亮
您的工作区设置指向 Prettier,因此请确保您的 Prettier 选项符合vue/script-indent
规则。也就是说,tabWidth
Prettier 中的值应该与vue/script-indent
.
例如,要要求 4 个空格的制表符宽度,.prettierrc
请使用以下 JSON 在项目的根目录中创建:
// .prettierrc
{
"tabWidth": 4
}
...并更新.eslintrc.js
以匹配:
// .eslintrc.js
module.exports = {
rules: {
'vue/script-indent': ['error', 4, {
baseIndent: 0,
switchCase: 0,
ignores: []
}]
}
}
还要确保您安装了Prettier VS Code 扩展以启用从 IDE 进行格式化。
推荐阅读
- cookies - telegra.ph 如何添加 cookie 标头以在不同设备中启用编辑文章
- gem5 - Gem5 如何接受和解码来自用户的可执行文件?
- spring - 如何将默认值设置为路径变量?
- react-native - 如何在反应原生android中打开应用程序设置页面?
- java - Java HashMap - 将新值附加到作为 HashMap 中的值的向量的优化方式
> - docker - 在 VM 工作站 15 播放器中运行的 Docker Swarm 不接受工作人员连接
- java - 获取用户输入值并使用 java 中的 Streams 处理它们
- amazon-web-services - 如何让我的 Auth0 权限进入 AWS HTTP API Jwt 授权方的访问令牌的范围声明?
- c - 为什么我在 C 中的函数出现“重复符号”错误?
- spring-boot - 尝试使用 GemfireRepository 查找实体时未调用 CacheLoader