vscode如何配置eslint+prettier来格式化Vue代码

1. 简介

本篇文章主要介绍如何通过配置vscode来使用eslint和prettier来格式化Vue代码,以达到更好的代码可读性和统一的开发风格。

2. 安装插件

在使用eslint和prettier之前,需要在vscode中先安装相应的插件:

ESLint - 在vscode中使用ESLint的代码检查和格式化功能

Prettier - 在vscode中使用Prettier的代码格式化功能

可以通过在vscode扩展选项卡搜索来安装这些插件。

3. 配置eslint

接下来需要针对Vue项目配置eslint。

3.1 在项目中安装eslint

通过npm命令,在项目中安装eslint(本文以Vue项目为例):

npm install eslint eslint-plugin-vue --save-dev

这里安装了eslint和eslint-plugin-vue插件,后者是ESLint针对Vue项目的插件。

3.2 创建.eslintrc.js配置文件

在项目的根目录下创建.eslintrc.js配置文件,并添加以下内容:

module.exports = {

root: true,

env: {

node: true

},

extends: [

'plugin:vue/vue3-essential',

'eslint:recommended'

],

parserOptions: {

parser: 'babel-eslint'

},

rules: {

// 这里是配置规则的地方

}

}

以上配置的含义如下:

root: true 代表该文件为项目的根配置文件

env: {node: true} 代表代码运行的环境为node

extends: [] 表示继承哪些规则,这里使用了plugin:vue/vue3-essential和eslint:recommended,前者是vue3项目的基本规则,后者是eslint的基本规则

parserOptions: {parser: 'babel-eslint'} 代表使用babel-eslint来解析代码

rules: {} 代表可以针对不同的规则进行自定义配置

3.3 定义规则

根据需求和团队规范,需要定义自己的eslint规则,这里只是给出一些常用规则的例子:

module.exports = {

...

rules: {

// 使用两个空格缩进

'indent': ['error', 2, {'SwitchCase': 1}],

// 单引号字符串

'quotes': ['error', 'single'],

// 函数调用时括号前不需要空格

'func-call-spacing': ['error', 'never'],

// 关键字前后需要空格

'keyword-spacing': ['error', { 'before': true, 'after': true }],

// 使用 === 和 !== 代替 == 和 !=

'eqeqeq': ['error', 'always'],

// 分号结尾

'semi': ['error', 'always'],

// 禁止行尾空格

'no-trailing-spaces': 'error',

// 禁止多余的括号

'no-extra-parens': ['error', 'all', { 'nestedBinaryExpressions': false }],

// 禁止混合使用 tab 和空格缩进

'no-mixed-spaces-and-tabs': 'error',

// 禁止在非加号运算符周围使用空格

'space-infix-ops': ['error', { 'int32Hint': false }]

}

}

以上是一些基础的eslint规则,可以根据实际需求进行更改或添加。

4. 配置prettier

接下来需要配置prettier,这里同样以Vue项目为例:

4.1 在项目中安装prettier

通过npm命令,在项目中安装prettier:

npm install prettier --save-dev

4.2 创建.prettierrc.js配置文件

在项目的根目录下创建.prettierrc.js配置文件,并添加以下内容:

module.exports = {

tabWidth: 2,

useTabs: false,

semi: true,

singleQuote: true,

trailingComma: 'es5',

bracketSpacing: true,

arrowParens: 'always'

}

以上配置的含义如下:

tabWidth: 2 代表使用两个空格缩进

useTabs: false 代表不使用tab缩进

semi: true 代表使用分号结尾

singleQuote: true 代表使用单引号字符串

trailingComma: 'es5' 代表在ES5环境下使用尾逗号

bracketSpacing: true 代表对象括号与文字之间有空格

arrowParens: 'always' 代表箭头函数参数需要括号

5. 总结

通过以上配置,我们就可以在Vscode中轻松实现eslint+prettier来格式化Vue代码,以达到统一的风格和更好的可读性,从而提高开发效率和代码质量。