不知道如何在 .prettierrc 中使用 Prettier Plugin

use*_*882 7 java visual-studio-code prettier

我在 Java 项目中使用 Prettier。Prettier 默认不格式化 Java,所以我在这里安装了这个插件:https : //github.com/jhipster/prettier-java

按照自述文件中的说明工作正常,但是,我不希望每次修改任何内容时都键入终端命令来重新格式化所有 java 文件。相反,我想在保存文件时对其进行格式化。这是目前在我的settings.json

"[java]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"editor.formatOnSave": true
Run Code Online (Sandbox Code Playgroud)

但是,使用Shift+Alt+FVScode 中的默认格式化命令会导致错误“安装的“java”文件没有格式化程序”。如何配置我的.prettierrc文件以正确使用插件来格式化 java 文件?

这是我现在的 .prettierrc 文件:

{
  "plugins": [
    "prettier-plugin-java"
  ],
  "pluginSearchDirs": [
    "./node_modules"
  ],
  "overrides": [{
      "files": "**/*.java",
      "options": {
            plugins: [
                "prettier-plugin-java"
            ]
      }
  }]
}
Run Code Online (Sandbox Code Playgroud)

dkb*_*dkb 2

.prettierrc在和文件中使用相同的设置,settings.json除了

"[java]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
},
Run Code Online (Sandbox Code Playgroud)

并为 java 文件添加了默认格式化程序,如下所示

  1. 打开命令面板... Ctrl + Shift + P (mac command + shift + P) 和
  2. 搜索Format Document With...
  3. 选择Configure Default Formatter...
  4. 选择Language Support for Java(TM) by Red Hat

工作样本

在此输入图像描述

现在如果我添加以下内容settings.json

"[java]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
},
Run Code Online (Sandbox Code Playgroud)

遇到了和你一样的问题

在此输入图像描述

因此,解决方案是从settings.json文件中删除上述设置。

设置.json 文件

"[java]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
},
Run Code Online (Sandbox Code Playgroud)

PS 确保Java Extension Pack vscjava.vscode-java-pack已安装,使用 v0.12.1

参考:

  1. https://github.com/redhat-developer/vscode-java/issues/220
  2. 在 Visual Studio Code 中美化/格式化 Java 代码
  3. https://code.visualstudio.com/docs/java/java-linting
  4. https://github.com/jhipster/prettier-java
  5. https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode