在我安装并启用了ESlint和Prettier的Nuxt应用程序中,我切换到Visual Studio Code。
当我打开一个.vue文件并按CMD+ Shift + P并选择格式化文档时,我的文件根本没有被格式化。
我的.prettierrc设置:
{
"tabWidth": 2,
"semi": false,
"singleQuote": true
}
我有这么多源代码行,所以我不能手动格式化它们。我做错了什么?
在我安装并启用了ESlint和Prettier的Nuxt应用程序中,我切换到Visual Studio Code。
当我打开一个.vue文件并按CMD+ Shift + P并选择格式化文档时,我的文件根本没有被格式化。
我的.prettierrc设置:
{
"tabWidth": 2,
"semi": false,
"singleQuote": true
}
我有这么多源代码行,所以我不能手动格式化它们。我做错了什么?
当前回答
我尝试了这篇文章中的每一个解决方案,我才意识到我唯一的问题是我的Visual Studio颜色主题。这么简单!
之前:
后:
其他回答
进入管理(位于左下角)->设置->用户选项卡->文本编辑器->格式->检查保存的格式
如果不能工作,请关闭并再次打开vscode编辑器
如果Prettier在保存时自动格式化除HTML文件外的所有其他文件:
按Cmd + P或Ctrl + P打开命令面板,并在其中输入以下文本:
> open settings
从建议下拉菜单中单击Preferences: Open Settings (JSON)。 在设置里面。检查[html]键是否存在。如果该键存在,并且它的值指示使用Visual Studio Code中安装的另一个格式化扩展,则应将其重置为使用Prettier。
"[html]": {
"esbenp.prettier-vscode"
}
例如,有时“[html]”键的值可以是“remimarsal”。当你安装了“现在更漂亮”扩展时。
如果你没有安装任何其他格式扩展,除了pretty,你也可以从设置中删除“[html]”键。json文件。
这里我的漂亮配置工作在vue.js文件,typescript文件和json文件。
arrowParens: 'always'
bracketSpacing: true
endOfLine: 'crlf'
htmlWhitespaceSensitivity: 'css'
insertPragma: false
jsxBracketSameLine: false
jsxSingleQuote: true
overrides:
- files: '*.json'
options:
semi: true
parser: 'json'
parser: 'babel'
printWidth: 120
proseWrap: 'preserve'
quoteProps: 'truepreserve'
requirePragma: false
semi: false
singleQuote: true
tabWidth: 8
trailingComma: 'es5'
useTabs: true
vueIndentScriptAndStyle:
不要忘记更新你的vscode设置
{
"extensions.ignoreRecommendations": false,
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[vue]": {
"editor.defaultFormatter": "octref.vetur"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
"editor.defaultFormatter": "vscode.html-language-features"
},
"vetur.format.options.useTabs": true}
那是所有人的事!
尽管有这些设置,你仍然会遇到问题。在这种情况下,正如之前的回答中所指出的,那么在VSCode的底部状态栏中检查更漂亮的通知将是一个好点。
当单击该状态时,输出面板应该在HTML文件中报告该问题。对我来说,问题是我在p标签里面有一个div,我认为更漂亮的/VSCode惯例是反对的。当我删除它(并结合上面的所有设置,即默认格式化器和保存时的格式)时,我工作得更好了。
.prettierrc不是必需的,除非你想覆盖VSCode设置
我试着启用“格式保存”,并将“自动保存延迟时间”设置为0。它成功了,所以我猜你也可以试试这个。
编辑:你可以通过这些步骤看到它们。
管理(齿轮图标左下角)
设置(在管理下拉列表中)
在保存时搜索格式并启用它(勾选复选框)
向下滚动,寻找自动保存延迟,并将其设置为0