在我安装并启用了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
}
我有这么多源代码行,所以我不能手动格式化它们。我做错了什么?
当前回答
对我来说,在VS Code设置中禁用了这个选项(然后使用默认配置更漂亮):
更漂亮:需要配置
其他回答
如果做什么@Simin Maleki提到的不能解决你的问题,有一个机会,你的默认格式化器没有设置:
File > Preferences > Settings > Search for "default formatter"
确保“Editor: Default Formatter”字段不为空,而是“Prettier - Code Formatter”(esbenp.prettier-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文件。
这不是pretty本身的问题,而是pretty - VSCode, VSCode扩展的问题。根据Vue的文档,Vue格式默认是禁用的:
更漂亮。disableLanguages(默认值:["vue"]) 要禁用此扩展的语言id列表。需要重新启动。注意:禁用父文件夹中启用的语言将阻止格式化,而不会让任何其他格式化程序运行
在这种情况下,启用您应该设置“更漂亮。disableLanguages”:[]。由于这是一个扩展配置,你应该在VSCode设置文件,而不是。pretierrc。
在我的例子中,它被typescript格式化器劫持了。
它把我逼疯了,因为它一直在重新格式化我的空间!
为了解决这个问题,我执行cmd+。(设置)type -> "默认格式化程序"
还有未检查的typescript
检查是否有.vscode/settings。Json文件在您的项目目录(工作空间)。在我的案例中,有人签入了这个文件:
{
"editor.formatOnSave": false
}
解决方案:删除文件(也从源代码控制中删除),并将.vscode/添加到.gitignore(如果您使用git)。