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

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

我的.prettierrc设置:

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

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


当前回答

我没有使用Vue,但遇到了同样的问题。

我已经设置好了

编辑器:用于更漂亮的默认格式化器 编辑器:格式保存为true 我已经有了。eslintrc.js和。prettierrc文件 但是什么都不管用。

我的问题的解决方案是,我已经正确设置,除了我需要:

Command + Shift + p 输入格式文件 select Configure Default Formatter… 选择pretty作为默认值。

我不知道为什么编辑器:保存的格式设置为true是不够的。 我需要使用上面的步骤选择默认格式化器,这样它就可以工作了。

其他回答

对我来说,问题是HTML文件的格式有一天停止工作。我设置了保存格式,它适用于除HTML以外的所有文件。

然后我意识到,我试验性地将保存模式的格式设置为修改而不是文件,然后忘记了它。这对HTML文件中的任何内容都没有格式化的影响,令人惊讶的是,即使是我的更改也没有格式化。将其设置回文件解决了这个问题。

检查是否有.vscode/settings。Json文件在您的项目目录(工作空间)。在我的案例中,有人签入了这个文件:

{
  "editor.formatOnSave": false
}

解决方案:删除文件(也从源代码控制中删除),并将.vscode/添加到.gitignore(如果您使用git)。

在我的情况下,我使用的是一台windows机器,原来文件系统已经损坏,因此漂亮的提出了一个错误,因为它无法打开配置文件,由于文件系统损坏。

为了解决这个问题,我在终端上运行chkdsk /f h:,其中h是文件分区。

这解决了文件腐败和漂亮的现在工作正常。

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

那是所有人的事!

1 .使用其他扩展更漂亮的是不为我工作,我只是使用其他VSCODE扩展名为pretiernow我认为这将有助于,为我做的。在这里签出扩展

2 .从prettier的最新更新中,如果你想坚持使用prettier,你需要在项目的根目录中添加.prettierrc文件。 .prettierrc的一个例子是-

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