在 VS Code 中试用

Java 在 VS Code 中的构建工具

这篇文档概述了如何在 Visual Studio Code 中使用 Java 构建工具。它涵盖了 Maven for JavaGradle for Java 扩展以及其他工具。

如果在使用以下功能时遇到任何问题,可以通过提交 issue 联系我们。

Maven

Maven 是一种软件工具,可帮助您管理 Java 项目并自动化应用程序构建。Visual Studio Code 的 Maven for Java 扩展提供完全集成的 Maven 支持,允许您浏览 Maven 项目、执行 Maven 命令以及执行构建生命周期和插件的目标。我们建议安装 Extension Pack for Java,它包含 Maven 支持和其他重要的 Java 开发功能。

安装 Extension Pack for Java

浏览 Maven 项目

加载 Maven 项目后,扩展会被激活,并自动扫描工作区中的 pom.xml 文件,并在侧边栏中显示所有 Maven 项目及其模块。

Maven Explorer

解析未知类型

Maven 扩展还支持搜索 Maven Central 来解析源代码中的未知类型。您可以通过选择悬停时显示的解析未知类型链接来完成此操作。

使用 POM.xml

扩展提供代码片段和自动补全功能,用于根据本地 Maven 仓库添加 Maven 依赖项。了解使用这些便捷功能向 pom.xml 添加新依赖项是多么容易。

扩展还允许您生成有效的 POM。

您还可以使用命令 Maven: Add a Dependency(或 maven.project.addDependency)来帮助向 pom.xml 添加新的依赖项。此过程是交互式的。

您还可以通过项目视图添加依赖项,这将调用相同的 Maven 命令。

此外,VS Code 还支持以树视图显示依赖项,您可以在一个地方检查项目中的所有依赖项并检查潜在问题。

执行 Maven 命令和目标

通过右键单击资源管理器中的每个 Maven 项目,您可以方便地运行 Maven 目标。

扩展还保留了每个项目的目标历史记录,因此您可以快速重新运行之前的命令,这在运行长时间的自定义目标时非常有用。

重新运行目标的两种方式

  1. 在命令面板中,运行 Maven: History,然后从历史记录中选择一个项目和命令。
  2. 右键单击一个项目,然后选择 History。然后,您可以从历史记录中选择之前的命令。

您还可以在设置中指定您喜欢的命令,以便将来执行。

对于您项目使用的每个插件,扩展还为您提供了一种简单的方法来访问每个插件中的目标。

要调试 Maven 目标,请右键单击一个目标并开始调试。Maven 扩展将使用正确的参数调用 Java 调试器。这是一个方便且节省时间的功能。

从 Maven Archetype 生成项目

此扩展提供的另一个便捷功能是从 Archetype 生成 Maven 项目。该扩展加载本地/远程目录中列出的原型。选择后,该扩展会将 mvn archetype:generate -D... 发送到终端。

创建 Maven 项目的几种方法

  1. 在 Maven 资源管理器中,选择 + 创建 Maven 项目按钮。

    Create Maven Project

  2. 打开命令面板⇧⌘P(Windows, Linux Ctrl+Shift+P),搜索 创建 Java 项目命令。

  3. 右键单击目标文件夹,然后选择 创建 Maven 项目

Gradle

VS Code 通过 Gradle for Java 扩展支持 Gradle Java 项目(不包括 Android)。此扩展提供多种组件来增强您的 Gradle Java 项目体验:

  • Gradle 构建服务器:Gradle 构建服务器用于导入 Gradle 项目并将构建任务委托给 Gradle 守护进程,确保项目输出与从命令行运行 Gradle 任务时一致。
  • 可视化界面:允许您在 VS Code 中直接查看和管理 Gradle 任务及项目依赖项,并运行 Gradle 任务。
  • Gradle 语言服务器:为 Gradle 构建文件提供更好的编写体验,包括语法高亮、错误报告和自动补全。

Gradle 构建服务器

默认情况下,如果您安装了 Gradle for Java 扩展,将使用 Gradle 构建服务器导入 Gradle 项目。您可以通过设置 java.gradle.buildServer.enabled 来开启或关闭 Gradle 构建服务器。

您可以在 Build Server for Gradle(构建)输出通道中查看 Gradle 构建输出,并在 Build Server for Gradle(日志)输出通道中跟踪 VS Code 和 Gradle 构建服务器之间的交互。

将测试委托给 Gradle

扩展支持将测试执行委托给 Gradle。您可以在测试资源管理器中配置要使用的测试配置文件。

注意:请确保您已安装 Test Runner for Java 扩展以使用此功能。

使用 Gradle 任务

在 VS Code 中打开 Gradle 项目时,通过单击 Gradle 侧边栏项可以找到一些有用的 Gradle 视图。Gradle 项目视图列出了工作区中找到的所有 Gradle 项目。您可以在此处查看、运行或调试 Gradle 任务。

当工作区中有许多 Gradle 任务时,可能难以找到特定任务。扩展提供了一个已固定任务视图,可帮助您固定喜欢的任务,以便您可以在单独的视图中轻松找到它们。您还可以在最近任务视图中查看最近执行的任务。

查看 Gradle 依赖项

Gradle 项目视图中,您可以在每个 Gradle 项目项下找到一个依赖项项。它包含您指定配置中的所有依赖项,您可以轻松检查项目的依赖项状态。

Gradle Dependencies

管理 Gradle 守护进程

Gradle 守护进程视图显示当前工作区的守护进程状态。它列出了与工作区版本相同的所有正在运行的 Gradle 守护进程。您可以在此视图中选择停止特定的守护进程或所有守护进程。

编写构建文件

扩展为 Gradle 构建文件提供了一些有用的编写功能。

打开 Groovy Gradle 文件时,扩展将分析 Gradle 文件并提供语义标记信息,从而提供更精确的高亮显示结果。

Gradle Highlighting

大纲视图中,扩展提供打开的 Gradle 文件的文档符号,这可以帮助您轻松导航到文件的任何部分。

Gradle Outline

如果打开的 Gradle 文件中存在任何语法错误(缺少字符、找不到类型等),您可以在问题视图中找到它们。

Gradle Problems

扩展支持 Gradle 文件的基本自动补全功能,当您尝试在 Gradle 脚本中键入 Gradle 闭包或属性时,扩展会为您提供可用的闭包或属性建议。

当您尝试声明新的依赖项时,扩展将为您提供一个依赖项候选列表。

其他资源

访问 Maven 扩展的 GitHub 仓库,以获取更多配置故障排除指南

除了 Maven 之外,如果您使用 Bazel 构建和测试项目,还有一个 Bazel 扩展

下一步

继续阅读以了解更多关于以下内容

  • Java 编辑 - 了解 VS Code 中 Java 的编辑功能。
  • Java 调试 - 了解如何使用 VS Code 调试 Java 项目。
  • Java 测试 - 使用 VS Code 进行 JUnit 和 TestNG 测试。
  • Java 扩展 - 了解更多适用于 VS Code 的有用 Java 扩展。