【发布时间】:2020-11-19 04:01:13
【问题描述】:
我正在尝试向我的项目添加配置,以便代码自动格式化。我对 VS Code 中的用户设置做了一些更新,还安装了 eslint 和 prettier。
现在每当我尝试保存我的代码时,都会从中获取更改器
<div className={style.app}>
<div className={style.mobileHeader}>
<div className={style.logoBox}>
</div>
</div>
</div>
到
<
div className = {
style.app
} >
<
div className = {
style.mobileHeader
} >
<
div className = {
style.logoBox
} >
所有这些添加的空格不仅不可读,我的 IDE 甚至没有将其注册为 JavaScript。
我在 .eslintrc.js 或 .eslintrc.json 中尝试了许多不同的配置(我只有一个,但我尝试了两种命名约定)。目前我已经删除了 .eslintrc.json 中的所有内容,除了空括号 {}。我最近也将我的用户设置更新为
{
"files.autoSave": "afterDelay",
"window.zoomLevel": 0,
"git.autofetch": true,
"explorer.confirmDragAndDrop": false,
"workbench.startupEditor": "welcomePage",
"dart.flutterSdkPath": "/Users/trevor/Applications/flutter",
"javascript.updateImportsOnFileMove.enabled": "always",
"python.pythonPath": "/usr/local/bin/python3",
"editor.defaultFormatter": "octref.vetur",
"vetur.format.defaultFormatter.html": "prettier",
"vetur.format.defaultFormatter.css": "prettier",
"vetur.format.defaultFormatter.postcss": "prettier",
"vetur.format.defaultFormatter.scss": "prettier",
"vetur.format.defaultFormatter.less": "prettier",
"vetur.format.defaultFormatter.stylus": "stylus-supremacy",
"vetur.format.defaultFormatter.js": "prettier",
"vetur.format.defaultFormatter.ts": "prettier",
"vetur.validation.template": false,
"javascript.format.insertSpaceBeforeFunctionParenthesis": true,
"eslint.autoFixOnSave": true,
"editor.formatOnSave": true,
"eslint.validate": [{
"language": "vue",
"autoFix": true
},
{
"language": "html",
"autoFix": true
},
{
"language": "javascript",
"autoFix": true
},
{
"language": "react",
"autoFix": true
},
]
}
我认为这里一定有什么问题导致了这个问题,但我看不出它会是什么。
我注意到唯一被格式化的代码是我的 React 页面的 return 语句中的代码。其他代码似乎没有受到影响。
【问题讨论】:
-
您能否验证文件->首选项->设置,并搜索“格式化程序”,是否实际选择了“esbenp.prettier-vscode”作为默认格式化程序?
-
@MudkIPHacker 是的,prettier 是默认格式化程序
标签: javascript reactjs visual-studio eslint prettier