现已发布!阅读关于 11 月新增功能和修复的内容。

在 VS Code 中管理 Java 项目

Java 项目管理器扩展可帮助您管理 Java 项目及其依赖项。它还有助于您创建新的 Java 项目、包和类。要获得 Visual Studio Code 中完整的 Java 语言支持,您可以安装 Java 扩展包,其中包含 Java 项目管理器扩展。

安装 Extension Pack for Java

有关如何开始使用扩展包的详细信息,您可以查阅 Java 入门教程。

项目视图

Java 项目视图可帮助您查看 Java 项目及其依赖项,并提供项目管理任务的入口点。

project view

默认情况下,Java 项目视图显示在资源管理器视图下方。如果看不到它,请尝试在资源管理器标题栏中单击 ... 按钮,然后选择Java 项目

在导航栏的溢出按钮中,还有更多选项可供使用。例如,您可以在分层视图和平面视图之间切换。

overflow button

您可以在资源管理器中节点旁边找到按钮,这些按钮提供了某些操作的便捷快捷方式。

inline button

每个节点右键菜单中还有许多有用的功能,您可以在资源管理器中右键单击节点以将其调出。

context menu

创建新的 Java 项目

您可以通过单击导航栏中的 + 按钮,或者通过命令面板(Command Palette)中的命令Java: Create Java Project... (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 来创建新的 Java 项目。在创建过程中,如果您的项目类型需要但尚未安装所需的扩展,VS Code 将帮助您安装它们。

create project

导入 Java 项目

您可以通过文件 > 打开文件夹…直接将现有 Java 项目和模块导入到您的工作区(确保打开的文件夹包含您的构建工具脚本,例如 pom.xmlbuild.gradle)。VS Code for Java 将自动检测并导入您的项目。

当您向项目中添加新模块时,可以触发Java: Import Java projects in workspace命令将其导入到您的工作区。此命令有助于在不重新加载 VS Code 窗口的情况下将新项目导入工作区。

导出到 JAR

您可以从项目视图中导出构建到 JAR,或通过运行命令Java: Export Jar...来导出。

Export jar from the project view

配置项目运行时

随着 Java 的发展,开发人员使用多个 JDK 版本是很常见的。您可以通过设置 java.configuration.runtimes 将它们映射到本地安装路径。该设置具有以下格式

"java.configuration.runtimes": [
  {
    "name": "JavaSE-1.8",
    "path": "/usr/local/jdk1.8.0_201"
  },
  {
    "name": "JavaSE-11",
    "path": "/usr/local/jdk-11.0.3",
    "sources" : "/usr/local/jdk-11.0.3/lib/src.zip",
    "javadoc" : "https://docs.oracle.com/en/java/javase/11/docs/api",
    "default":  true
   },
   {
    "name": "JavaSE-12",
    "path": "/usr/local/jdk-12.0.2"
   },
   {
    "name": "JavaSE-13",
    "path": "/usr/local/jdk-13"
   }
]

注意:您可以通过为条目添加 "default": true 来将其中一个设置为默认值。默认 JDK 将用于您的非托管文件夹(没有构建工具)。

要查看您的项目正在使用哪个 JDK,您可以在命令面板(Command Palette)中触发命令Java: Configure Java Runtime⇧⌘P (Windows, Linux Ctrl+Shift+P))。此命令会打开一个视图,显示您项目的运行时信息。

Project runtime

更改 Maven 和 Gradle 项目的 JDK

如果您想更改 Maven 或 Gradle 项目的 JDK 版本,您需要在构建脚本(pom.xmlbuild.gradle)中进行更新。您可以单击 查看如何进行此类更改。单击 将导航到项目的构建脚本文件。

更改非托管文件夹的 JDK

要更改非托管文件夹(没有构建工具)的 JDK,您可以单击 按钮。它将列出所有 JDK,您可以为您的非托管文件夹选择一个。

下载 JDK

如果您想下载新的 JDK,可以单击 download 链接,或在命令面板(Command Palette)中触发命令Java: Install New JDK⇧⌘P (Windows, Linux Ctrl+Shift+P))。它将打开一个新视图,指导您下载 JDK。

Download-jdk

注意:要启用 Java 预览功能,请参阅 如何使用 VS Code 配合新的 Java 版本

配置非托管文件夹的类路径

Java 项目管理器扩展提供了一个用户界面来配置非托管文件夹的类路径。可以在类路径配置页面上手动设置类路径。您可以通过从命令面板(Command Palette)执行 **Java: Configure Classpath** 命令来打开它(⇧⌘P (Windows, Linux Ctrl+Shift+P))。

configure classpath

在极少数情况下,您可能需要通过从命令面板(Command Palette)执行 **Java: Clean Java Language Server Workspace** 命令(⇧⌘P (Windows, Linux Ctrl+Shift+P))来清理 Java 工作区,以便语言服务器重建您的依赖项。

依赖管理

添加 Maven 依赖项

对于 Maven 项目,您可以通过单击项目视图中Maven Dependencies节点旁边的 + 图标来添加依赖项。

add maven dependency

管理非托管文件夹的依赖项

如果您的项目是一个没有构建工具的非托管文件夹。您可以通过单击Referenced Libraries节点或其下的项目旁边的 + 图标或 - 图标来管理依赖项,或者您也可以直接将 jar 库拖到 Referenced Libraries 节点上。

manage referenced libraries

您也可以在类路径配置页面中管理依赖项。参见:配置非托管文件夹的类路径

在后台,settings.json 中有一个名为 java.project.referencedLibraries 的设置。下面是有关如何自定义此设置的详细信息。

包含库

要引用的库使用一组 glob 模式进行描述。

例如

"java.project.referencedLibraries": [
    "library/**/*.jar",
    "/home/username/lib/foo.jar"
]

上述设置将工作区库文件夹中的所有 .jar 文件以及指定绝对路径中的 foo.jar 添加到项目的外部依赖项中。

然后 VS Code 会监视引用的库,并且在这些依赖文件发生更改时,项目将得到刷新。

默认情况下,VS Code 会使用 glob 模式 lib/**/*.jar 引用工作区 lib 目录中的所有 JAR 文件。

排除一些库

如果您想从项目中排除一些库,可以展开 java.project.referencedLibraries 来使用 include/exclude 字段,并添加一个 exclude glob 模式。

"java.project.referencedLibraries": {
    "include": [
        "library/**/*.jar",
        "/home/username/lib/foo.jar"
    ],
    "exclude": [
        "library/sources/**"
    ]
}

在上面的示例中,library/sources 文件夹中的任何二进制 JAR 文件都将被忽略,因为它们不是项目的外部依赖项。

附加源 JAR

默认情况下,引用的 {binary}.jar 会尝试在同一目录下查找 {binary}-sources.jar,如果找到匹配项,则将其附加为源。

如果您想手动指定一个 JAR 文件作为源附件,可以在 sources 字段中提供一个键值对映射。

"java.project.referencedLibraries": {
    "include": [
        "library/**/*.jar",
        "/home/username/lib/foo.jar"
    ],
    "exclude": [
        "library/sources/**"
    ],
    "sources": {
        "library/bar.jar": "library/sources/bar-src.jar"
    }
}

这样,bar-src.jar 就被附加到 bar.jar 作为其源。

轻量级模式

VS Code for Java 支持两种模式:轻量级模式和标准模式。在轻量级模式下,只有源文件和 JDK 由语言服务器解析;在标准模式下,导入的依赖项由语言服务器解析并构建项目。当您需要快速启动和轻量级环境来处理源文件时,轻量级模式效果最佳,例如,读取源代码、在源代码和 JDK 之间导航、查看大纲和 Javadoc、检测和修复语法错误。此外,还支持在源文件和 JDK 的范围内进行代码补全。

轻量级模式不会解析导入的依赖项,也不会构建项目,因此不支持运行、调试、重构、代码审查或检测语义错误。要使这些功能可用,您需要将工作区从轻量级模式切换到标准模式。

您可以通过使用以下选项配置 java.server.launchMode 来控制启动模式。

  • Hybrid(默认)- 首先,工作区以轻量级模式打开。如果您的工作区包含未解析的 Java 项目,系统会询问您是否切换到标准模式。如果您选择稍后,它将继续以轻量级模式运行。您可以单击状态栏上的语言状态项手动切换到标准模式。
  • Standard - 工作区以标准模式打开。
  • LightWeight - 工作区以轻量级模式打开。您可以单击状态栏上的语言状态项手动切换到标准模式。

语言状态项使用不同的图标指示当前工作区处于哪种模式。

  • - 工作区以轻量级模式打开。
  • - 工作区正在以标准模式打开。
  • - 工作区以标准模式打开。

单击语言状态项即可切换到标准模式。

Switch to Standard

构建状态

当您在 Visual Studio Code 中编辑 Java 源代码时,Java 语言服务器会构建您的工作区,为您提供必要的语言功能。您可以通过单击状态栏中的语言状态项来查看详细的构建任务状态并观察后台发生的情况。当通知显示语言服务器正在打开 Java 项目时,您也可以选择检查详细信息链接来查看构建任务状态。

其他资源

有几个 Visual Studio Code 扩展支持不同的 Java 构建系统。以下是一些流行构建系统的扩展。

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

后续步骤

继续阅读以了解更多关于

  • Java 编辑 - 探索 VS Code 中的 Java 编辑功能。
  • Java 调试 - 了解如何在 VS Code 中调试您的 Java 项目。
  • Java 测试 - 将 VS Code 用于您的 JUnit 和 TestNG 用例。
  • Java 扩展 - 了解更多适用于 VS Code 的有用 Java 扩展。
© . This site is unofficial and not affiliated with Microsoft.