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


Posted in Javascript onSeptember 10, 2019

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

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

Javascript 相关文章推荐
鼠标滚轮控制网页横向移动实现思路
Mar 22 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
Apr 07 Javascript
javascript/jquery获取地址栏url参数的方法
Mar 05 Javascript
JavaScript中的类与实例实现方法
Jan 23 Javascript
jQuery获取URL请求参数的方法
Jul 18 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
Jul 24 Javascript
AngularJS利用Controller完成URL跳转
Aug 09 Javascript
js绘制购物车抛物线动画
Nov 18 Javascript
Vue 过渡(动画)transition组件案例详解
Jan 22 Javascript
微信小程序中显示html格式内容的方法
Apr 25 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
Jul 31 Javascript
vue组件实现可搜索下拉框扩展
Oct 23 Javascript
npm 语义版本控制详解
Sep 10 #Javascript
解决layui的input独占一行的问题
Sep 10 #Javascript
解决layer.open弹出框不能获取input框的值为空的问题
Sep 10 #Javascript
防止Layui form表单重复提交的实现方法
Sep 10 #Javascript
关于layui 弹出层一闪而过就消失的解决方法
Sep 09 #Javascript
解决layer弹出层中表单不起作用的问题
Sep 09 #Javascript
解决layui弹框失效的问题
Sep 09 #Javascript
You might like
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
使用JavaScript构建JSON格式字符串实现步骤
2013/03/22 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
js使用心得分享
2015/01/13 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
2015/03/13 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
2017/03/15 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
vue项目设置scrollTop不起作用(总结)
2018/12/21 Javascript
Vue v-for循环之@click点击事件获取元素示例
2019/11/09 Javascript
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
python中for语句简单遍历数据的方法
2015/05/07 Python
Python函数中的函数(闭包)用法实例
2016/03/15 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
Python AutoCAD 系统设置的实现方法
2020/04/01 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
python通过cython加密代码
2020/12/11 Python
2014年英语教学工作总结
2014/12/17 职场文书
邀请函的格式
2015/01/30 职场文书
婚宴新娘致辞
2015/07/28 职场文书
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP