Java 格式化和代码风格检查
Red Hat 提供的 Java™ 语言支持 也提供了 格式化设置。您可以导出一个 Eclipse 格式化程序文件,然后在 VS Code 中将其用于您的项目。
此外,还有 Java 用 Checkstyle 和 SonarLint 扩展,它们提供实时代码风格检查和代码分析功能。
格式化程序
您可以使用 **格式化文档** 命令来格式化 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",
设置格式化程序配置文件后,**格式化文档** 命令将使用特定配置文件来格式化 Java 文件。
编辑格式化程序设置
Java 扩展包 提供了一个编辑器,可帮助用户编辑现有的格式化程序配置文件。您可以使用命令 **Java: 使用预览打开 Java 格式化程序设置** 打开编辑器。在编辑器中,您可以更改格式化程序设置并预览效果。保存当前编辑器后,更改将保存到格式化程序配置文件。
注意:格式化程序设置编辑器仅支持本地格式化程序配置文件。如果您的工作区包含远程格式化程序配置文件,它将指导您在
.vscode
文件夹中下载它。
在编辑器中编辑设置时,您可以在右侧的 **预览** 面板中预览更改的效果。
您还可以撤销和重做更改。
SonarLint
SonarLint 是一款易于使用的扩展,可以帮助您在编码时查找和修复错误和安全问题。该扩展在后台运行,就像拼写检查器一样,它会突出显示构成质量或安全问题的源代码问题。该扩展不仅会告诉您问题是什么,还会提供上下文相关的指导,说明为什么它有害以及如何修复它,并提供示例。该扩展支持超过 500 多个 Java 规则,并且包括一些 快速修复 来自动修复某些质量问题。
实时代码分析
问题直接在编辑器中突出显示,并带有悬停提示,提供详细的解释。
在打开的文件中发现的问题也可以通过 VS Code 的“问题”面板进行查看。在适用的情况下,会提及辅助代码位置,以便您可以了解问题源于何处(例如,导致错误的代码路径)。
规则文档和修复指导
对于检测到的任何问题,SonarLint 提供有关违反规则的完整文档,以及它所涉及的最佳编码实践。这使您可以了解为什么会出现问题,以及如何修复它。
启用更多质量和安全规则
默认情况下,SonarLint 提供了广泛的规则来检测错误和漏洞。可以通过 **SonarLint 规则** 视图启用更多检查。
有关 VS Code 扩展的 SonarLint 的更多详细信息,请访问 SonarLint 网站。
Checkstyle
使用 Java 用 Checkstyle 扩展,您可以使用现有的 checkstyle
配置(Google 或 Sun 的 Check)或您自己为项目定制的文件。在编辑 Java 文件时,该扩展将检查文件格式,并在可能的情况下实时提供快速修复。
使用 **Checkstyle: 设置 Checkstyle 配置文件** 命令并从下拉菜单中选择 Checkstyle 文件来设置 Checkstyle 配置文件。
Java 用 Checkstyle 扩展支持实时代码风格检查。
以及批次检查。
单击状态栏中的 Checkstyle 状态图标时,将打开“问题”面板。
设置 Checkstyle 配置文件
要设置配置文件,请右键单击 .xml
文件,然后选择 **设置 Checkstyle 配置文件**。
您还可以触发命令 **Checkstyle: 设置 Checkstyle 配置文件**,以便在文件资源管理器中选择配置文件。该扩展在您的工作区中查找 checkstyle.xml
文件,以使 Checkstyle 配置更轻松。您还会看到两个内置的配置
- Google 的 Check
- Sun 的 Check
命令 **Checkstyle: 设置 Checkstyle 配置** 检测潜在的 **Checkstyle** 配置文件并列出它们。您也可以通过在输入框中直接写入 URL 来提供配置文件。
您还可以使用命令 **Checkstyle: 设置 Checkstyle 版本** 来设置 Checkstyle 版本。
该命令将
- 从主存储库中列出最新的 Checkstyle 版本。
- 列出所有已下载的版本。
- 列出所有受支持的版本。
- 使用复选标记符号标记当前使用的版本。
此外,您还可以通过配置其路径来引入任何第三方 Checkstyle 模块。例如,在使用以下配置后,您可以添加 `<module name="SingleBreakOrContinueCheck"/>` 或 `<module name="com.github.sevntu.checkstyle.checks.naming.SingleBreakOrContinueCheck"/>` 到 `checkstyle.xml` 中,以使用这些检查。
"java.checkstyle.modules": [ "${workspaceFolder}/src/main/resources/sevntu-checks-1.35.0.jar" ]
检查样式并修复违规。
在编辑 Java 文件时,扩展程序将检查文件格式,并在可能的情况下提供快速修复。您可以点击编辑器中的灯泡按钮以显示可用的快速修复。
有关 Java 的 Checkstyle 的更多详细信息,请访问其 GitHub 存储库。