1. 概述

本文将介绍如何在 Visual Studio Code(VS Code) 中配置 Java 开发环境,并使用其基本功能。接着我们会看看它对 Maven 和 Gradle 的支持情况,最后总结它的优势与不足。

2. 配置 VS Code 以支持 Java

微软近年来大幅提升了 VS Code 对 Java 的支持体验。**推荐直接下载 Coding Pack for Java**,这是一组核心扩展的打包安装包(可以理解为 Eclipse 的 JDT 工具链)。

即使你还没安装任何东西,这个可执行包也会自动检测缺失的软件并帮你安装:

✅ Visual Studio Code
✅ Java Development Kit (JDK)
✅ Java Extension Pack(包含以下扩展):

  • Language Support for Java™ by Red Hat:支持导航、编写、重构和阅读 Java 文件
  • Debugger for Java by Microsoft:启动/附加调试、断点、表达式求值、调用栈查看
  • Maven for Java by Microsoft:基于 Archetype 创建项目、运行 Maven 目标
  • Java Test Runner by Microsoft:运行 JUnit、TestNG 测试
  • Project Manager for Java by Microsoft:展示项目结构、创建新项目、导出 JAR 包
  • Visual Studio IntelliCode by Microsoft:提供更智能的自动补全建议

如果你已经安装了 VS Code,只需从侧边栏的 Extensions(扩展)中安装 Java Extension Pack 即可。

安装完成后,你会在左侧看到“Create Java Project”按钮和 Maven 视图:

1 vscode overview

也可以通过菜单 View > Command Palette 查看所有 Java 功能:

2 vscode command palette

接下来我们来详细了解这些扩展提供的功能。

3. 使用基础 Java 项目

3.1 创建或打开 Java 项目

要创建新的 Java 项目,可以在命令面板(Command Palette)中找到 Java: Create Java Project 命令,在弹出菜单中选择项目类型:

  • No build tools:创建一个空白项目,含 srclib 目录
  • Maven:可以选择一个 archetype 来生成项目(详见后文)
  • ⚠️ Spring Boot, Quarkus, MicroProfile:需要先安装对应扩展才能创建项目

如果要打开已有项目,VS Code 会在右下角弹出提示框,询问是否导入为 Java 项目。如果错过了,只需打开任意 .java 文件即可重新触发。

3.2 运行和调试项目

运行项目快捷键如下:

  • F5:调试模式运行
  • Ctrl + F5:普通运行

还可以直接点击 main 方法或单元测试上方的 Run | Debug 快捷按钮:

3 vscode run debug 2

调试时顶部会出现调试工具栏,可以控制程序继续执行、停止、重启等操作。底部的 Terminal(终端)会显示输出日志。

3.3 管理 Java 包和导入

⚠️ VS Code 没有专门的功能用于创建类或包,这是个让人踩坑的地方。

正确的做法是:

  1. 先新建一个 .java 文件;
  2. 在文件顶部声明所需的包名;
  3. 此时会报错:“The declared package does not match the expected package”;
  4. 将鼠标悬停在错误上,点击 Quick Fix,它会自动帮你创建完整的目录结构。

不过包管理和导入功能还是挺标准的:

  • Ctrl + Space 可以快速导入已有类;
  • Quick Fix 弹窗可以帮助你添加缺失的 import 或移除未使用的 import。

3.4 代码导航和自动补全

几个关键快捷键必须掌握:

  • Ctrl + P:打开文件
  • Ctrl + T:跳转到类或接口
  • Ctrl + Click:跳转到方法定义或类实现
  • 侧边栏中的 Outline(大纲)视图:适合浏览大型文件结构

自动补全功能也很强大:

  • 输入 Ctrl + Space 显示可用选项;
  • 支持接口实现、类方法/属性列表展示,甚至包括 Javadoc 注释;
  • while, for, if, switch, try 等语句后输入 Ctrl + Space,可以生成完整代码片段。

❌ 不过目前还不能自动生成方法参数的 Javadoc。

3.5 编译错误和警告

编译错误会以下划线标出,未使用的变量则会变灰。

可以通过 View > Problems 查看所有错误和警告,并且大多数问题都有 Quick Fix 提示。

3.6 配置 Java 版本

Java Extension Pack 从 1.2.0 起默认使用嵌入的 JRE 17 启动 Java Language Server,提供语法高亮、补全等功能。但如果你要编译项目,还需要配置 JDK。

手动指定 JDK 路径

点击左侧面板最后一个图标(Manage),进入 Settings 页面,搜索 “Java Configuration Runtime”,然后点击 “Edit in settings.json”。

修改如下配置项:

"java.jdt.ls.java.home": "/usr/lib/jvm/java-21-openjdk"

⚠️ 注意:原来的 java.home 已被弃用,推荐使用 java.jdt.ls.java.home

同时也要配置 java.configuration.runtimes 属性,以便支持不同版本的 JDK 编译:

"java.configuration.runtimes": [
    {
        "name": "JavaSE-1.8",
        "path": "/usr/lib/jvm/java-8-openjdk/",
        "default": true
    },
    {
        "name": "JavaSE-17",
        "path": "/usr/lib/jvm/java-17-openjdk/",
        "default": true
    }  
]

📌 注意事项:

  • 名称需遵循 JavaSE 格式;
  • 路径必须是本机实际 JDK 安装路径。

自动探测本地 JDK(推荐)

你也可以让 Java Extension Pack 自动探测本地已安装的 JDK,无需手动配置路径:

java extension pack auto detect jdk versions

只需勾选相关选项即可启用自动检测功能。

4. Maven 和 Gradle 集成

4.1 Maven 支持

若要创建 Maven 项目,可在命令面板中选择 Maven archetype。选择后,系统会在交互式终端中引导你完成配置,而不是像传统 IDE 那样有图形向导。

首次打开项目时,VS Code 会弹出导入提示,随后开始 Maven 配置过程。默认使用系统 PATH 中的全局 Maven 客户端,但如果项目中配置了 Maven Wrapper,则会弹窗让你选择是否使用 wrapper。

然后你可以在 Maven 侧边栏看到可用的插件和目标:

4 vscode maven view

如果没看到,可以从以下位置排查问题:

  • View > Problems:检查 pom.xml 错误或 JDK 兼容性问题
  • View > Output:选择底部右侧的 Maven For Java 查看 Maven 客户端或 wrapper 的错误信息

4.2 Gradle 支持

要使用 Gradle,需先安装 Gradle Extension Pack 扩展。该扩展只支持配置了 Gradle Wrapper 的项目。

打开 Gradle 项目后,底部状态栏会显示下载和安装进度。点击状态栏可查看是否有错误发生。也可通过 View > Output 并选择 Gradle Tasks 查看详细输出。

成功加载后,左侧会出现 Gradle 大象图标,点击后可以看到任务管理面板:

5 vscode gradle view

如果没有显示大象图标,请检查项目是否位于子目录中,如果是,需启用 gradle.nestedProjects 设置才能识别。

5. 优势与不足

VS Code 是一款轻量级编辑器,相比专业 Java IDE(如 IntelliJ IDEA、Eclipse)确实存在一些短板:

❌ 缺少图形化向导
❌ Maven/Gradle 集成不够友好
❌ 没有内置包管理器和依赖管理工具

⚠️ VS Code 并非专为 Java 设计,这一点从很多细节上都能感受到,特别是对习惯了传统 Java IDE 的开发者来说。

✅ 但其核心功能如语法检查、自动补全都非常完善,得益于 Eclipse JDT language server 的加持。

✅ 此外,VS Code 的优点也很明显:

  • 启动速度快
  • 内存占用低
  • 用户体验好(插件生态丰富)

6. 总结

本文介绍了如何在 VS Code 中配置 Java 环境、使用其主要功能,并分析了它的优缺点。

✅ 如果你已经熟悉 VS Code,它是一个不错的入门 Java 编辑器;
❌ 但如果你已经是 IntelliJ 或 Eclipse 的资深用户,可能会觉得它缺少太多“舒适区”功能,反而不太适应。


原始标题:How to Use Visual Studio Code With Java? | Baeldung