参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

常见问题

感谢您对 Visual Studio Code 上的 Java 感兴趣!本篇常见问题解答(FAQ)希望能解答您可能遇到的一些问题。

这些 Java 扩展是开源的吗?

是的。所有由 Red Hat、Microsoft 和 VMware 提供的Java 扩展都是开源的,社区支持的大部分扩展也是如此。您可以从 Marketplace 页面找到它们在 GitHub 上对应的代码仓库。

Visual Studio Code 上的 Java 未来还会有其他新功能吗?

当然有。我们使用 GitHub issues 来跟踪收到的请求以及每个扩展的工作计划。目前我们正在努力添加更多的重构和代码检查功能以提高编辑效率,并进行一些性能改进以使其运行得更快。

我们的大部分工作都是根据客户反馈来收集和确定优先级的。如果您有兴趣提供您的想法,可以直接访问我们的项目仓库提交一个新的 issue 来分享您的看法。

我们团队的能力有限,因此我们非常鼓励来自强大的 Java 社区的更多贡献。如果您对自己的想法充满热情,并希望帮助其他 Java 开发者,欢迎加入我们!一些值得考虑的领域包括 Gradle 支持、代码分析和测试覆盖率工具、性能分析器,以及对 DropWizard、JavaFX、JPA、Play、Akka、OSGi 等其他框架的支持。

我可以使用其他 IDE 的键盘快捷键吗?

当然可以。VS Code 中的键盘映射扩展可以将 VS Code 的快捷键修改为与其他编辑器一致。您可以在 Marketplace 的键盘映射(Keymaps)分类下找到IntelliJ IDEA 键盘快捷键Eclipse 快捷键映射以及其他流行编辑器的快捷键映射。

在哪里可以找到 Visual Studio Code 上 Java 支持的最新进展?

您可以关注我们的Java at Microsoft 博客,它将让您随时了解我们的最新进展。

当您在 VS Code 中使用 Java 时,更新Java 扩展包(Extension Pack for Java)后,您可能也会看到一个**发行说明**(Release Notes)部分。这些说明将为您概述扩展中包含的重要更新。

如何在新版 Java 中使用 Visual Studio Code?

得益于来自 JDT 的上游更新,您现在也可以使用 VS Code 构建高达 Java 22 的项目。要使用实验性/预览版语言特性,您需要修改您的项目设置。

Maven - 修改 pom.xml

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <configuration>
            <release>22</release>
            <compilerArgs>--enable-preview</compilerArgs>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

Gradle

sourceCompatibility = 22
tasks.withType(JavaCompile) {
    options.compilerArgs += '--enable-preview'
}
tasks.withType(Test) {
    jvmArgs += "--enable-preview"
}

注意:如果您正在修改一个已在 VS Code 中打开过的项目,您可能需要强制清理工作区并重新加载。为此,请运行命令 Java: Clean Java Language Server Workspace

如何在公司代理后面使用它?

在公司代理后面使用 Java 语言支持(redhat.java)扩展时,您可能需要让 Java 语言服务器知道如何连接到互联网,以便通过该代理下载构建时所需的运行时、Java 依赖项及其源代码。

这可以通过在 VS Code 的偏好设置中配置 java.jdt.ls.vmargs 来完成(全部写在一行内):

{
  "java.jdt.ls.vmargs": "-Dhttp.proxyHost=webproxy.corp.net -Dhttp.proxyPort=proxyport -Dhttp.proxyUser=user -Dhttp.proxyPassword=password -Dhttps.proxyHost=webproxy.corp.net -Dhttps.proxyPort=proxyport -Dhttps.proxyUser=user -Dhttps.proxyPassword=password"
}

这会支持 Visual Studio 吗?

目前我们没有计划将 Java 支持扩展到 Visual Studio。Java 已经有了很棒的 IDE,我们专注于 VS Code,以便在一个多语言编辑器中提供轻量级的体验。

VS Code Java 支持其他显示语言吗?

目前,除英语外,我们还为一些扩展提供了中文支持,包括Debugger for JavaTest Runner for JavaMaven for JavaProject Manager for Java。要了解如何切换 VS Code 的显示语言,请参阅显示语言

如果您对支持其他显示语言感兴趣,可以为扩展仓库做出贡献。

如何排查问题并为 Java 语言服务器做出贡献

您可以访问 Java for Visual Studio Code wiki 来查找有关以下问题的答案:

  1. “Classpath is incomplete”(类路径不完整)警告
  2. 对 Maven 项目的注解处理支持
  3. 贡献一个 Java 扩展
  4. 格式化程序设置
  5. Lombok 支持
  6. 使用代理
  7. 故障排除