欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VScode格式化ESlint方法(最全最好用方法)

程序员文章站 2023-10-13 22:59:06
eslint:是用来统一javascript代码风格的工具,不包含css、html等。 背景: 近来研究前端,然后一直在百度上找vscode格式化(eslint)的...

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

背景:

近来研究前端,然后一直在百度上找vscode格式化(eslint)的插件,结果找了半天都不靠谱。目前没有一个可以格式化html、css、符合eslint的js、vue的插件,所以自己东拼西凑加实践找到解决方法。

解决方案:

1、安装插件

1)eslint:javascript代码检测工具,可以配置每次保存时格式化js,但每次保存只格式化一点点,你得连续按住ctrl+s好几次,才格式化好,自行体会~~

2)vetur:可以格式化html、标准css(有分号 、大括号的那种)、标准js(有分号 、双引号的那种)、vue文件,
但是!格式化的标准js文件不符合eslint规范,会给你加上双引号、分号等,像这样

VScode格式化ESlint方法(最全最好用方法)

能把html格式化分行显示

VScode格式化ESlint方法(最全最好用方法)

3)prettier - code formatter:只关注格式化,并不具有eslint检查语法等能力,只关心格式化文件(最大长度、混合标签和空格、引用样式等),包括javascript · flow · typescript · css · scss · less · jsx · vue · graphql · json · markdown

4)manta's stylus supremacy: 格式化stylus的插件(不用就不装),因为vetur会把css格式化有分号 、大括号的那种,此插件会把css格式化成stylus风格,像这样

VScode格式化ESlint方法(最全最好用方法)

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

VScode格式化ESlint方法(最全最好用方法)

VScode格式化ESlint方法(最全最好用方法)

代码如下:

{
   // 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 // 两个选择器中是否换行
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。