Java 格式化和代码检查
Language Support for Java™ by Red Hat 也提供了格式化设置。你可以导出一个 Eclipse 格式化文件,然后在 VS Code 中用于你的项目。
此外,还有 Checkstyle for Java 和 SonarLint 扩展,它们提供了实时代码检查和代码分析的功能。
格式化程序
你可以使用 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
文件夹中。
在编辑器中编辑设置时,你可以在右侧的预览面板中预览更改的效果。
你还可以撤销和重做更改。
SonarLint
SonarLint 是一个简单易用的扩展,可以帮助你在编码时发现并修复 bug 和安全问题。该扩展在后台运行,就像拼写检查器一样,会高亮显示存在质量或安全问题的源代码。该扩展不仅告诉你问题是什么,还提供上下文指导,解释其危害性以及如何修复,并附带示例。该扩展支持超过 500 条 Java 规则,并包含多个快速修复,以自动修复某些质量问题。
实时代码分析
问题会直接在编辑器中高亮显示,悬停时会提供详细解释。
在打开的文件中发现的问题也可以通过 VS Code 的“问题”面板进行审查。在适用情况下,会提及第二代码位置,以便你了解问题源于何处(例如,导致 bug 的代码路径)。
规则文档和修复指南
对于检测到的任何问题,SonarLint 都会提供关于所违反规则的完整文档,以及它所涉及的最佳编码实践。这可以让你理解为什么会产生一个问题,以及如何修复它。
启用更多的质量和安全规则
默认情况下,SonarLint 提供了大量规则来检测 bug 和漏洞。可以通过 SonarLint 规则视图启用更多检查。
有关 SonarLint for VS Code 扩展的更多详情,请访问 SonarLint 网站。
Checkstyle
通过 Checkstyle for Java 扩展,你可以使用现有的 checkstyle
配置(Google's 或 Sun's Check),或者为你的项目使用你自己的自定义文件。在编辑 Java 文件时,该扩展将检查文件格式,并在可能的情况下提供实时快速修复。
使用 Checkstyle: Set the Checkstyle Configuration File 命令设置 Checkstyle 配置文件,并从下拉列表中选择 Checkstyle 文件。
Checkstyle for Java 扩展支持实时代码检查。
以及批量检查。
当你点击状态栏中的 Checkstyle 状态图标时,“问题”面板将会打开。
设置 Checkstyle 配置文件
要设置配置文件,右键单击 .xml
文件并选择Set the 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 文件时,扩展将检查文件格式,并在可能的情况下提供快速修复。你可以点击编辑器中的灯泡按钮来显示可用的快速修复。
有关 Checkstyle for Java 的更多详情,请访问其 GitHub 仓库。