vscode如何自动格式化js代码-ESlint

ESlint:是用来统一JavaScript代码风格的工具,不包含css、html等

解决方案:

1、安装插件

1)ESlint: javascript代码检测工具,可以配置每次保存时格式化js,但每次保存只格式化一点点,你得连续按住Ctrl+S好几次,才格式化好,自行体会~~
2)vetur: 可以格式化html、标准css(有分号 、大括号的那种)、标准js(有分号 、双引号的那种)、vue文件,
但是! 格式化的标准js文件不符合ESlint规范,会给你加上双引号、分号等。

Prettier - Code formatter:只关注格式化,并不具有eslint检查语法等能力,只关心格式化文件(最大长度、混合标签和空格、引用样式等),包括JavaScript · Flow · TypeScript · CSS · SCSS · Less · JSX · Vue · GraphQL · JSON · Markdown

Manta’s Stylus Supremacy: 格式化stylus的插件(不用就不装),因为vetur会把css格式化有分号 、大括号的那种,此插件会把css格式化成stylus风格。

2、在vscode的文件-首选项-设置里,右侧配置里添加如下代码即可(代码有注释!),从此直接 Ctrl+S 就能一键格式化了

代码如下:

{
     // vscode默认启用了根据文件类型自动设置tabsize的选项
    "editor.detectIndentation": false,
    // 重新设定tabsize
    "editor.tabSize": 2,
    // #每次保存的时候自动格式化 
    "editor.formatOnSave": true,
    // #每次保存的时候将代码按eslint格式进行修复
    "eslint.autoFixOnSave": true,
    // 添加 vue 支持
    "eslint.validate": [
        "javascript",
        "javascriptreact",
        {
            "language": "vue",
            "autoFix": true
        }
    ],
    //  #让prettier使用eslint的代码格式进行校验 
    "prettier.eslintIntegration": true,
    //  #去掉代码结尾的分号 
    "prettier.semi": false,
    //  #使用带引号替代双引号 
    "prettier.singleQuote": true,
    //  #让函数(名)和后面的括号之间加个空格
    "javascript.format.insertSpaceBeforeFunctionParenthesis": true,
    // #这个按用户自身习惯选择 
    "vetur.format.defaultFormatter.html": "js-beautify-html",
    // #让vue中的js按编辑器自带的ts格式进行格式化 
    "vetur.format.defaultFormatter.js": "vscode-typescript",
    "vetur.format.defaultFormatterOptions": {
        "js-beautify-html": {
            "wrap_attributes": "force-aligned"
            // #vue组件中html代码格式化样式
        }
    },
    // 格式化stylus, 需安装Manta's Stylus Supremacy插件
    "stylusSupremacy.insertColons": false, // 是否插入冒号
    "stylusSupremacy.insertSemicolons": false, // 是否插入分好
    "stylusSupremacy.insertBraces": false, // 是否插入大括号
    "stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
    "stylusSupremacy.insertNewLineAroundBlocks": false // 两个选择器中是否换行
     "vetur.validation.template": false  //关闭vetur标签闭合检查(用于解决iview标签报错)
}

更新2019-07-08

上面格式化对于element-ui框架的自动格式化支持不好,需要在eslint.js中进行配置,进行标签的匹配,具体格式化规则如下,文件为eslint.js:
在这里插入图片描述

rules: {
    'vue/max-attributes-per-line': [
      2,
      {
        singleline: 10,
        multiline: {
          max: 1,
          allowFirstLine: true
        }
      }
    ],
    'vue/html-indent': [
      {
        attribute: 1,
        baseIndent: 1,
        closeBracket: 0,
        alignAttributesVertically: true,
        ignores: []
      }
    ],
    'vue/html-indent': [
      {
        attribute: 1,
        baseIndent: 1,
        closeBracket: 0,
        alignAttributesVertically: true,
        ignores: []
      }
    ],
    'vue/html-closing-bracket-newline': [
      'error',
      {
        singleline: 'never',
        multiline: 'never'
      }
    ]
    }

原文:https://www.jianshu.com/p/23a5d6194a4b

  • 9
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
VSCode 可以通过安装相应的插件来实现自动格式化ESLint 验证和 Vue CLI 集成。 首先,在 VSCode 中搜索并安装 ESLint 插件,例如 "ESLint" 插件。安装完毕后,VSCode 会在工具栏中显示一个 ESLint 图标,表示已成功安装。 接下来,我们需要在项目根目录下安装和配置 ESLint。在终端中运行以下命令来安装 ESLint 和相关规则: ``` npm install eslint --save-dev ``` 安装完成后,我们需要在项目根目录下创建一个 `.eslintrc` 配置文件,在其中定义我们需要的 ESLint 规则。可以使用一些流行的规则预设,例如 `eslint:recommended` 或 `plugin:vue/essential`,也可以自定义规则。具体的配置内容可以参考 ESLint 官方文档。 配置好 `.eslintrc` 后,我们需要在 VSCode 中启用自动格式化。通过点击 VSCode 工具栏中的 "ESLint" 图标,再点击 "ESLint: Enable ESLint" 来启用自动格式化功能。这样,当我们保存文件时,VSCode 就会自动根据 `.eslintrc` 中的规则进行格式化和验证。 对于 Vue 项目,我们还可以集成 Vue CLI。Vue CLI 提供了一个方便的命令行界面来初始化、开发和构建 Vue.js 项目。在终端中运行以下命令来安装 Vue CLI: ``` npm install -g @vue/cli ``` 安装完成后,可以在终端中运行 `vue create` 命令来创建新的 Vue 项目。Vue CLI 会帮助我们配置好项目的基本结构,并且已经内置了对 ESLint 的支持。 总结而言,要实现 VSCode 自动格式化ESLint 验证和 Vue CLI 集成,我们需要在 VSCode 中安装 ESLint 插件,然后在项目根目录下配置 `.eslintrc` 文件,并启用自动格式化功能。另外,如果使用 Vue CLI 创建项目,ESLint 的集成已经在项目初始化的过程中完成。这样,我们就可以在开发过程中,自动进行代码风格的格式化和规范验证。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值