内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

VSCode书写vue项目配置eslint+prettier统一代码风格

2018-11-09 20:27 出处:清屏网 人气: 评论(0

以前公司的vue项目只是我一个人在写,代码风格统一,但是后来随着团队增加,统一的代码风格就越来越重要。我的主力工具是sublime,ws辅助,vscode基本很少使用(就下载安装放在冷宫),但是听说用来写vue项目还不错,就开启了一番折腾。当然工具么,没有谁好谁坏了~~ 不盲目站队,适合自己的就是最好的。

目标是: Eslint 校验代码语法, prettier 统一格式化代码,按下保存自动修复eslint错误,自动格式化代码(因为懒~)

安装vscode插件

首先,需要安装 VeturESLintPrettier - Code formatter 这三个插件,安装完重启下,防止插件不生效。

另外这里有个坑, Beautify 插件会占用格式化代码的快捷键,因此会和 prettier 产生冲突,所以直接禁用掉。

vscode插件配置

打开vscode工具的设置(快捷键 Ctrl + , )里面有两个设置。

一个是 USER SETTINGS(用户设置)也就是全局配置,其他项目也会应用这个配置。

另一个是WORKSPACE SETTINGS(工作区设置)也就是项目配置,会在当前项目的根路径里创建一个 .vscode/settings.json 文件,然后配置只在当前项目生效。

我把配置写在了工作区设置,配置如下:

{
    //.vue文件template格式化支持,并使用js-beautify-html插件
    "vetur.format.defaultFormatter.html": "js-beautify-html",
    //js-beautify-html格式化配置,属性强制换行
    "vetur.format.defaultFormatterOptions": {
      "js-beautify-html": {
        "wrap_attributes": "force-aligned"
      }
    },
    //根据文件后缀名定义vue文件类型
    "files.associations": {
      "*.vue": "vue"
    },
    //配置 ESLint 检查的文件类型
    "eslint.validate": [
      "javascript",
      "javascriptreact",
      {
        "language": "vue",
        "autoFix": true
      }
    ],
    //保存时eslint自动修复错误
    "eslint.autoFixOnSave": true,
    //保存自动格式化
    "editor.formatOnSave": true
}
复制代码

ESLint 和 Prettier 的冲突修复

由于需要同时使用 prettiereslin t,而 prettier 的一些规则和 eslint 的一些规则可能存在冲突,例如 prettier 字符串默认是用双引号而 esLint 定义的是单引号的话这样格式化之后就不符合 ESLint 规则了。

所以要解决冲突就需要在 Prettier 的规则配置里也配置上和 ESLint 一样的规则,直接覆盖掉, ESLintPrettier 的配置文件内容如下:

.eslintrc.js

配置使用单引号、结尾不能有分号。

module.exports = {
  root: true,
  env: {
    node: true
  },
  extends: ['plugin:vue/essential', 'eslint:recommended'],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    //强制使用单引号
    quotes: ['error', 'single'],
    //强制不使用分号结尾
    semi: ['error', 'never']
  },
  parserOptions: {
    parser: 'babel-eslint'
  }
}

复制代码

.prettierrc

配置使用单引号、结尾不能有分号。

{
   //开启 eslint 支持
  "eslintIntegration": true,
  //使用单引号
  "singleQuote": true,
  //结尾不加分号
  "semi": false
}
复制代码

也可以直接在vscode工作区配置 prettier

{
    //开启 eslint 支持
    "prettier.eslintIntegration": true,
    //使用单引号
    "prettier.singleQuote": true,
    //结尾不加分号
    "prettier.semi": false,
}
复制代码
分享给小伙伴们:
本文标签: VSCodevueeslintprettier

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号