参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

Java 格式化与 Linting

由 Red Hat 提供的 Language Support for Java™ 也提供了格式化设置。你可以导出一个 Eclipse 格式化文件,然后在 VS Code 中用于你的项目。

此外,还有 Checkstyle for JavaSonarLint 扩展,它们提供了实时 linting 和代码分析的功能。

格式化工具

你可以使用 Format Document 命令来格式化一个 Java 文件。如果你之前没有指定格式化配置文件,Java 文件将使用默认设置进行格式化。

应用格式化设置

你可以轻松地应用来自现有 Eclipse 方案中的格式化配置文件。例如,如果你想为你的 Java 项目应用 Google 风格,那么你可以在 settings.json 中设置以下属性:

"java.format.settings.url": "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml",

该属性可以设置为一个 URL 或一个本地文件路径。如果格式化 XML 文件包含多个配置文件,你可以指定配置文件的名称。

"java.format.settings.profile": "GoogleStyle",

设置好格式化配置文件后,Format Document 命令将使用指定的配置文件来格式化你的 Java 文件。

编辑格式化设置

Extension Pack for Java 提供了一个编辑器来帮助用户编辑现有的格式化配置文件。你可以通过命令 Java: Open Java Formatter Settings with Preview 打开该编辑器。在编辑器中,你可以更改格式化设置并预览效果。保存当前编辑器后,更改将被保存到格式化配置文件中。

注意:格式化设置编辑器仅支持本地格式化配置文件。如果你的工作区包含远程格式化配置文件,它会引导你将其下载到 .vscode 文件夹中。

在编辑器中编辑设置时,你可以在右侧的 Preview 面板中预览更改的效果。

你也可以撤销和重做更改。

SonarLint

SonarLint 是一个易于使用的扩展,可以帮助你在编码时发现并修复错误和安全问题。该扩展在后台运行,就像拼写检查器一样,高亮显示存在质量或安全问题的源代码。该扩展不仅告诉你问题是什么,还提供了上下文指导,解释其危害以及如何修复,并附带示例。该扩展支持超过 500+ 条 Java 规则,并包含多个快速修复,以自动修复某些质量问题。

即时代码分析

问题会直接在编辑器中高亮显示,悬停时会提供详细的解释。

在打开的文件中发现的问题也可以通过 VS Code 的“问题”面板进行审查。在适用的情况下,会提及次要代码位置,以便你了解问题的根源(例如,导致错误的具体代码路径)。

规则文档和修复指南

对于任何检测到的问题,SonarLint 都会提供关于所违反规则的完整文档,以及其相关的最佳编码实践。这可以让你理解为什么会产生问题,以及如何修复它。

启用更多的质量和安全规则

默认情况下,SonarLint 提供了大量规则来检测错误和漏洞。可以通过 SonarLint Rules 视图启用更多检查。

有关 SonarLint for VS Code 扩展的更多详细信息,请访问 SonarLint 网站

Checkstyle

通过 Checkstyle for Java 扩展,你可以为你的项目使用现有的 checkstyle 配置(Google 或 Sun 的检查)或你自己的自定义文件。在编辑 Java 文件时,该扩展会检查文件格式,并在可能的情况下即时提供快速修复。

使用 Checkstyle: Set the Checkstyle Configuration File 命令设置 Checkstyle 配置文件,并从下拉列表中选择 Checkstyle 文件。

Checkstyle for Java 扩展支持实时 linting。

以及批量检查。

当你点击状态栏中的 Checkstyle 状态图标时,“问题”面板将会打开。

设置 Checkstyle 配置文件

要设置配置文件,右键单击 .xml 文件并选择 Set the Checkstyle Configuration File

Set Checkstyle configuration file

你也可以触发 Checkstyle: Set Checkstyle Configuration File 命令,在文件浏览器中选择配置文件。该扩展会在你的工作区中查找 checkstyle.xml 文件,以简化 Checkstyle 的配置。你还会看到两个内置配置:

  • Google's Check
  • Sun's Check

Checkstyle: Set the Checkstyle Configuration 命令会检测潜在的 Checkstyle 配置文件并列出它们。你也可以通过在输入框中直接写入 URL 来提供一个配置文件。

你还可以使用 Checkstyle: Set the Checkstyle Version 命令来设置 Checkstyle 的版本。

该命令将会:

  • 列出主仓库中最新的 Checkstyle 版本。
  • 列出所有已下载的版本。
  • 列出所有支持的版本。
  • 用一个勾号标记当前正在使用的版本。

此外,你还可以通过配置其路径来为 Checkstyle 引入任何第三方模块。例如,使用下面的配置后,你可以在 checkstyle.xml 中添加 <module name="SingleBreakOrContinueCheck"/><module name="com.github.sevntu.checkstyle.checks.naming.SingleBreakOrContinueCheck"/> 来使用这些检查。

"java.checkstyle.modules": [ "${workspaceFolder}/src/main/resources/sevntu-checks-1.35.0.jar" ]

检查风格并修复违规问题

在编辑 Java 文件时,该扩展会检查文件格式,并在可能的情况下提供快速修复。你可以点击编辑器中的灯泡按钮来显示可用的快速修复。

Fix style violation

有关 Checkstyle for Java 的更多详细信息,请访问其 GitHub 仓库