VScode格式化代码,开启ESlint代码检测⽅法,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规范,会给你加上双引号、分号等,像这样
不好.png
能把html格式化分⾏显⽰
好.png
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风格,像这样
图⽚.png
2、在vscode的⽂件-⾸选项-设置⾥,右侧配置⾥添加如下代码即可(代码有注释!),从此直接 Ctrl+S 就能⼀键格式化了
图⽚.png
图⽚.png
代码如下:
{
// 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格式进⾏格式化
html文件格式化"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 // 两个选择器中是否换⾏}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。