前言
VSCode 在经历了一番猛烈的升级以后,用户自定义文件settings.json
又有了比较大的改动,许多插件的首页也写了相关的设置变更方法。
此文是在另一位大大的博客基础上的修改了用户设置的代码,剔除了报错的部分和过时的部分
感谢大大!
步骤
- 根据https://www.cnblogs.com/zhoudawei/p/11198781.html下载相应插件和打开配置文件
- 修改最后的代码如下:
(如果之前settings.json
里面已经有代码,请去掉下面这段代码最外面的大括号{}
)
{
// #值设置为true时,每次保存的时候自动格式化;值设置为false时,代码格式化请按shift+alt+F
"editor.formatOnSave": false,
//设置tab的缩进为2
"editor.tabSize": 2,
// #每次保存的时候将代码按eslint格式进行修复
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
},
// 添加 vue 支持
"eslint.validate": [
"javascript",
"javascriptreact",
{
"language": "vue",
"autoFix": true
}
],
// #让prettier使用eslint的代码格式进行校验
// vscode 更新后已经统一使用editor.codeActionsOnsave
// #去掉代码结尾的分号
"prettier.semi": false,
// #使用带引号替代双引号
"prettier.singleQuote": true,
"prettier.tabWidth": 4,
// #让函数(名)和后面的括号之间加个空格
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
// #这个按用户自身习惯选择
"vetur.format.defaultFormatter.html": "js-beautify-html",
// #让vue中的js按"prettier"格式进行格式化
"vetur.format.defaultFormatter.js": "prettier",
"vetur.format.defaultFormatterOptions": {
"js-beautify-html": {
// #vue组件中html代码格式化样式
"wrap_attributes": "force-aligned", //也可以设置为“auto”,效果会不一样
"wrap_line_length": 200,
"end_with_newline": false,
"semi": false,
"singleQuote": true
},
"prettier": {
"semi": false,
"singleQuote": true
}
},
"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
// 格式化stylus, 需安装Manta's Stylus Supremacy插件
"stylusSupremacy.insertColons": false, // 是否插入冒号
"stylusSupremacy.insertSemicolons": false, // 是否插入分号
"stylusSupremacy.insertBraces": false, // 是否插入大括号
"stylusSupremacy.insertNewLineAroundImports": false, // import之后是否换行
"stylusSupremacy.insertNewLineAroundBlocks": false,
"prettier.useTabs": true,
"files.autoSave": "off",
"explorer.confirmDelete": false,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"diffEditor.ignoreTrimWhitespace": false,
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
} // 两个选择器中是否换行
}
ps.本文的变动效果是使得VSCode不会报错,之前的功能是否能够如实生效,敬请自行测试orz
补充遇到问题及其解决方法
使用ESlint
插件可能会遇到无法加载的问题:
会提示你使用npm
手动安装,那么手动安装一下:
- 下载
Node.js
并安装。(题主是很久以前下载的了,具体怎么安装百度下吧) - 打开终端。注意这个时候输入
npm install eslint -g
很有可能会一直卡在下载界面一动不动。正确的方法是更换淘宝源 - 输入
npm config set registry https://registry.npm.taobao.org
换源,之后输入npm config get registry
查看是否配置成功 - 输入
npm install eslint -g
安装ESLint
。
后续可能还有问题,等题主搞清楚了eslint再更新orz