在我安装并启用了ESlint和Prettier的Nuxt应用程序中,我切换到Visual Studio Code。

当我打开一个.vue文件并按CMD+ Shift + P并选择格式化文档时,我的文件根本没有被格式化。

我的.prettierrc设置:

{
  "tabWidth": 2,
  "semi": false,
  "singleQuote": true
}

我有这么多源代码行,所以我不能手动格式化它们。我做错了什么?


当前回答

这里我的漂亮配置工作在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}

那是所有人的事!

其他回答

这不是pretty本身的问题,而是pretty - VSCode, VSCode扩展的问题。根据Vue的文档,Vue格式默认是禁用的:

更漂亮。disableLanguages(默认值:["vue"]) 要禁用此扩展的语言id列表。需要重新启动。注意:禁用父文件夹中启用的语言将阻止格式化,而不会让任何其他格式化程序运行

在这种情况下,启用您应该设置“更漂亮。disableLanguages”:[]。由于这是一个扩展配置,你应该在VSCode设置文件,而不是。pretierrc。

如果其他答案都不起作用,请检查工作目录中不存在冲突的更漂亮配置. pretierrc,或检查. pretierignore以确保文件/文件夹没有被忽略。

这就是我的工作(我的默认格式化器已经设置为更漂亮)

将默认格式化程序更改为default 重启vscode 将默认格式化程序更改为pretty。

在不太可能的情况下,上述解决方案都不适合你(像我一样),我不得不在设置中将默认格式化器设置为null,然后按CTRL + SHIFT + P并搜索“格式文档”(默认格式文档绑定+R对我不起作用),然后我被提示在弹出窗口中选择默认格式化器,在选择更漂亮的格式后,它格式化了文档,现在也保存了格式

有时与自动插件更新所需的文件,由漂亮的可能会丢失。

如果这里有文件或文件夹为空,请检查此路径

C:\Users\ YOURUSERNAME \ esbenp.prettier-vscode-2.2.2 \ \ .vscode \扩展

如果丢失,卸载并重新安装更漂亮