vscode 自动修复eslint错误

一般情况下,在项目中使用eslint后,通过在vscode的插件中安装eslint vetur即可通过工具的自我检测功能,实现自动修复。可以首选-设置中,设置保存时自动修复,也可以通过快捷键使用

按F1,搜索eslint:fix all auto-fixable priblems 即可

最近遇到了一个奇葩问题,同一个项目,换了一台电脑,同样的配置,vscode工具突然失灵了,找了好久,才发现是它在搞怪,eslint-plugin-html,原因是同一台电脑,打开了不同的项目,另一个项目使用的是eslint-plugin-vue,于是这个两个东西产生了摩擦,最终eslint-plugin-vue战胜了eslint-plugin-html,于是使用eslint-plugin-vue的项目可以自动检测,使用eslint-plugin-html的失灵了,如果你也遇到了相同的问题,可以尝试着换成eslint-plugin-vue试试。这里同时给出eslint的添加方法(方法很多,这里简要说下)。
1,新建.eslintrc.js,内容如下

// https://eslint.org/docs/user-guide/configuring

module.exports = {
    root: true,
    parserOptions: {
      parser: 'babel-eslint'
    },
    env: {
      browser: true,
    },
    extends: [
      // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
      // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
      'plugin:vue/essential', 
      // https://github.com/standard/standard/blob/master/docs/RULES-en.md
      'standard'
    ],
    // required to lint *.vue files
    plugins: [
      'vue'
    ],
    // add your custom rules here
    rules: {
       'vue/no-parsing-error': [2, {"x-invalid-end-tag": false}],
       'v/vue/valid-v-for': 0,
       'no-control-regex': 0,
       "quotes": [1, "single"], //引号类型 `` "" ''
        'arrow-parens': 0,
        // allow async-await
        'generator-star-spacing': 0,
        // allow debugger during development
        'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
        "space-before-function-paren": 0,
        "indent": ["error", 2],
        "eqeqeq": [0, "always"],
        "standard/object-curly-even-spacing": [0, "either"],
    }
  }
  

2,在package.json中添加
“eslint-plugin-html"是开始使用的插件,你使用时去掉,替换为最后的"eslint-plugin-vue”

 "scripts": {
    "lint": "eslint --fix --ext .js,.vue src test/unit test/e2e/specs",
 }
"devDependencies": {
		   "babel-eslint": "^8.2.1",
		   "eslint": "^4.15.0",
		   "eslint": "^4.15.0",
		   "eslint-config-standard": "^10.2.1",
		   "eslint-friendly-formatter": "^3.0.0",
	       "eslint-loader": "^1.7.1",
	       "eslint-plugin-html": "^3.0.0",
	       "eslint-plugin-import": "^2.7.0",
	       "eslint-plugin-node": "^5.2.0",
	       "eslint-plugin-promise": "^3.4.0",
	       "eslint-plugin-standard": "^3.0.1",
	       "eslint-plugin-vue": "^4.0.0"
	      }

3,在webpack.base.conf修改

function resolve(dir) {
    return path.join(__dirname, '..', dir)
}

const createLintingRule = () => ({
    test: /\.(js|vue)$/,
    loader: 'eslint-loader',
    enforce: 'pre',
    include: [resolve('src'), resolve('test')],
    options: {
        formatter: require('eslint-friendly-formatter'),
        // emitWarning: !config.dev.showEslintErrorsInOverlay
    }
})
  rules: [
            // ...(config.dev.useEslint ? [createLintingRule()] : []),
            createLintingRule(),
            {
                test: /\.vue$/,
                loader: 'vue-loader',
                options: vueLoaderConfig
            },
            ...
     ]

4,cnpm install到此结束。

备注:也许这个方法经过你的尝试,并不适合你。假如你有更好的解决方案,请留言。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VSCode是一款非常流行的开发工具,而ESLint则是一个非常实用的JavaScript语法检查工具。VSCode集成了ESLint插件,使得我们可以在编码过程中自动检查和修复代码中的语法错误和风格问题。 ESLint自动修复功能非常方便,可以帮助我们快速解决代码中的问题,提高开发效率。使用VSCode进行ESLint自动修复的步骤如下: 首先,我们需要在VSCode中安装ESLint插件。在插件商店中搜索ESLint并安装即可。 安装完成后,在VSCode的设置中找到ESLint配置项。点击"扩展"->"ESLint"->"配置",会跳转到一个.eslintrc.js或.eslintrc.json文件。 在配置文件中,我们可以定义代码的规则和风格。举个例子,我们可以设置缩进为两个空格,禁止使用console.log,等等。可以参考ESLint的官方文档来了解更多规则配置。 配置完成后,我们可以打开一个JavaScript文件。如果代码中存在ESLint检测到的错误或者风格问题,可以在编辑器的左侧看到警告和错误的标示。 接下来,我们可以使用VSCode的自动修复功能来解决这些问题。可以通过以下几种方式实现: 1. 鼠标悬停在错误或警告上,会出现一个小灯泡图标。点击图标,可以选择自动修复该问题。 2. 右键点击错误或警告,选择"修复此问题"来自动修复。 3. 使用快捷键Ctrl + .(在Windows上)或Cmd + .(在Mac上),也可以进行自动修复。 根据配置文件的规则,VSCode会自动应用相应的修复操作。修复后的代码会自动更新,将错误和警告去除或者按照规定的风格进行修改。 总的来说,VSCode通过集成ESLint插件,提供了便捷的自动修复功能,可以帮助开发者快速解决代码中的语法错误和风格问题。这样我们可以更专注于编码,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值