在 VS Code 中管理 Java 项目
Project Manager for Java 扩展程序可帮助您管理 Java 项目及其依赖项。它还可以帮助您创建新的 Java 项目、包和类。要获得 Visual Studio Code 中的完整 Java 语言支持,可以安装 Extension Pack for Java,其中包含 Project Manager for Java 扩展程序。
有关如何开始使用扩展程序包的详细信息,可以查阅“Java 入门”教程。
项目视图
Java 项目视图可帮助您查看 Java 项目及其依赖项,并为项目管理任务提供入口点。

默认情况下,Java 项目视图显示在“资源管理器”视图下方。如果看不到它,请尝试单击“资源管理器”标题栏中的
...按钮并选择“Java 项目”。
在导航栏的溢出按钮中,有更多可用选项。例如,您可以在分层视图和平面视图之间切换。

您可以在资源管理器中节点旁找到按钮,它们为某些操作提供了有用的快捷方式。

每个节点的上下文菜单中也有许多有用的功能,您可以通过在资源管理器中右键单击节点来调出它。

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

导入 Java 项目
您可以通过“文件”>“打开文件夹...”直接将现有 Java 项目和模块导入到您的工作区(请确保打开的文件夹包含您的构建工具脚本,例如 pom.xml 或 build.gradle)。VS Code for Java 将自动检测并导入您的项目。
当您向项目中添加新模块时,可以触发“Java: Import Java projects in workspace”命令将它们导入到您的工作区。此命令有助于在不重新加载 VS Code 窗口的情况下将新项目导入工作区。
导出到 JAR
您可以从项目视图或通过运行“Java: Export Jar...”命令将构建导出到 JAR。

配置项目运行时
随着 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 用于您的项目,可以在命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中触发“Java: Configure Java Runtime”命令。此命令会打开一个视图,显示项目的运行时信息。

更改 Maven 和 Gradle 项目的 JDK
如果要更改 Maven 或 Gradle 项目的 JDK 版本,需要在构建脚本(pom.xml 或 build.gradle)中更新它。您可以单击 了解如何进行此类更改。单击 将导航到项目的构建脚本文件。
更改非托管文件夹的 JDK
要更改非托管文件夹(没有任何构建工具)的 JDK,可以单击 按钮。它将列出所有 JDK,您可以为非托管文件夹选择一个。
下载 JDK
如果要下载新的 JDK,可以单击 download 链接,或在命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中触发“Java: Install New JDK”命令。它将打开一个新视图,指导您下载 JDK。

注意:要启用 Java 预览功能,请参阅“如何将 VS Code 与新的 Java 版本一起使用”。
为非托管文件夹配置类路径
Project Management for Java 扩展程序提供了一个用户界面来配置非托管文件夹的类路径。可以通过从命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))执行“Java: Configure Classpath”命令来手动设置类路径。

在极少数情况下,您可能需要通过从命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))执行“Java: Clean Java Language Server Workspace”命令来清理 Java 工作区,以让语言服务器重建您的依赖项。
依赖管理
添加 Maven 依赖项
对于 Maven 项目,可以通过单击项目视图中“Maven 依赖项”节点旁边的+图标来添加依赖项。

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

您也可以在类路径配置页面中管理依赖项。请参阅:为非托管文件夹配置类路径
在后台,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 文件都将作为项目的外部依赖项而被忽略。
附加源 jars
默认情况下,引用的 {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- 以轻量级模式打开工作区。您可以单击状态栏上的语言状态项以手动切换到标准模式。
语言状态项使用不同的图标指示当前工作区所在的模式。
- - 以轻量级模式打开的工作区。
- - 工作区正在以标准模式打开中。
- - 以标准模式打开的工作区。
单击语言状态项可切换到标准模式。

构建状态
当您在 Visual Studio Code 中编辑 Java 源代码时,Java 语言服务器正在构建您的工作区,以为您提供必要的语言功能。您可以通过单击状态栏中的语言状态项来查看详细的构建任务状态并观察后台发生的情况。当通知显示语言服务器正在打开 Java 项目时,您还可以选择“检查详细信息”链接以查看构建任务状态。
其他资源
有几个 Visual Studio Code 扩展程序支持不同的 Java 构建系统。以下是一些流行构建系统的扩展程序。
- 适用于 Java 的 Maven
- 适用于 Java 的 Gradle
- Bazel for Java(Bazel 用于
BUILD文件,没有 Java 集成))
如果在以上功能的使用过程中遇到任何问题,可以通过提交 Issue 与我们联系。
后续步骤
继续阅读以了解更多信息