DCloud_HB_WDL
DCloud_HB_WDL
  • 发布:2020-03-17 19:08
  • 更新:2024-03-26 20:36
  • 阅读:26461

HBuilderX 使用eslint实时校验、自动修复代码错误(适用于HBuilderX 2.6.8+)

分类:HBuilderX

HBuilderX 2.6.8+版本起,新增eslint 实时校验、自动修复错误的功能。注意:此文不适用于2.6.8之前的版本

插件下载地址

eslint-js插件下载地址
eslint-vue插件下载地址


1. eslint 文件保存,实时校验、自动修复错误功能说明

  1. 使用此功能,必须安装eslint-jseslint-vue插件。(菜单【工具】【插件安装】)
  2. vue-cli项目,需要安装eslint库,并配置eslint规则.
  3. 若满足上述条件,当编写完代码,保存时,若代码中存在错误,自动修复;

2. 插件设置

2.6.11版本,支持自定义配置:保存时自动修复启用实时校验;见下图

特别说明: 实时校验功能,默认未开启,需要手动开启此功能

3. 特别说明

特别说明: eslint自动修复功能,并不能修复所有的语法错误。
比如定义了某个变量,但未使用,eslint校验保存,自动修复功能并不能修复此类错误。

4. 普通项目:eslint规则配置

点击菜单【工具】【插件配置】【eslint-js】,编辑.eslintrc.js文件

eslint规则:https://eslint.org/docs/rules/

.eslintrc.js配置文件示例

module.exports = {  
    "plugins": [  
        "html"  
    ],  
    "parserOptions": {  
        "ecmaVersion": 2018,  
        "sourceType": "module",  
        "ecmaFeatures": {  
            "jsx": true  
        },  
        "allowImportExportEverywhere": false  
    },  
    rules: {  
        "no-alert": 0,  
        "semi": [2, "always"],  
        "no-multi-spaces": "error",  
       "quotes": ["error", "single"]  
    }  
}

示例:使用eslint, 删除多余的空格

5. vue-cli项目:eslint安装、配置

$ npm install --save eslint eslint-plugin-vue eslint-plugin-html eslint-config-standard eslint-plugin-import eslint-plugin-node eslint-plugin-promise eslint-plugin-standard

安装完成后,在vue-cli项目根目录,创建.eslintrc.js文件

备注:(注意:项目下eslint规则会覆盖HBuilderX编辑器eslint插件中的规则

eslint-plugin-vue配置文件与规则:eslint-plugin-vue官方教程

.eslintrc.js配置文件示例

module.exports = {  
    extends: [  
        'plugin:vue/recommended'  
    ],  
    rules: {  
        "no-alert": 0,  
        "no-multi-spaces": "error", // 禁止多个空格   
        "semi": [2, "always"] ,// 自动补充分号  
       "quotes": ["error", "single"] // 使用单引号  
    }  
}

示例:使用eslint, 自动补充分号

6. 以uni-app项目为例,配置eslint规则,校验vue文件

特别说明:

  • vue文件,校验规则,需要从eslint-vue插件中配置。
  • 菜单【工具】【插件配置】【eslint-vue】【.eslintrc.js】,编辑.eslintrc.js文件

7. vue-cli 项目demo

附件中的zip包,为vue-cli项目demo。因为node_modules太大,所以未包含node_modules。解压zip后,请执行npm install安装node_modules

5 关注 分享
sonicsunsky 1***@163.com 5***@qq.com 1***@qq.com 8***@qq.com

要回复文章请先登录注册

逆流而上11

逆流而上11

no-mixed-spaces-and-tabs修复不了
2021-06-02 15:13
1***@qq.com

1***@qq.com

eslint 报 uni is not defined 怎么办
2021-05-31 14:15
DCloud_HB_WDL

DCloud_HB_WDL (作者)

回复 a***@qq.com :
请实际举例说明。这个也和eslint规则配置相关。
2021-05-20 14:41
DCloud_HB_WDL

DCloud_HB_WDL (作者)

回复 h***@163.com :
请打开自定义快捷键设置窗口,手动添加。
验证本文档语法,command: editor.action.validation
推荐:[可视化快捷键设置插件](https://ext.dcloud.net.cn/plugin?id=3648)
2021-05-20 14:36
a***@qq.com

a***@qq.com

我也是服了,你们这个保存自动修复真是折磨人。有时候行有时候不行
2021-05-20 12:30
h***@163.com

h***@163.com

好像校验不能设置快捷键吧,为什么不加个快捷键呢? 右键菜单点南验证效率很低,自动校验并不完善(比如时有时无,或手动修复后错误提示不消失),而且消耗资源,很多人并不喜欢实时的。至于保存时校验修复,对于uniapp这种保存即同步真机编绎真的不合适,一个小错都会引起一堆的报错,有时还会引起崩溃,改后再编绎有时要等很久。诚望能增加快捷键
2021-04-02 11:32
行走在世间的lh

行走在世间的lh

回复 DCloud_HB_WDL :
HBuilderX 3.1.6, cli创建的项目(或下方提供的demo),npm install 运行了,HBuilderX安装了eslint-js 和eslint-plugin-vue,也开启了eslint-js 和eslint-vue的 保存时校验,但貌似并没有格式化。,重启HBuilderX 和项目都试了
2021-03-29 09:38
DCloud_HB_WDL

DCloud_HB_WDL (作者)

回复 一辰 :
#### 下载此贴中的cli示例项目,测试下(注意示例项目运行前,需要先运行npm install --save)。根据你提供的信息,无法排查,请详细描述。
2021-01-12 16:40
一辰

一辰

完全按照教程配置的,cli创建的项目,保存后一点反应都没有!!!
2021-01-12 15:12
云鹏

云鹏

我和我同事的电脑都无法启用eslint,我同事是windows版最新,我电脑是macos版新版
2020-12-24 14:29