如何在 Ubuntu 21.04 上使用 OpenJDK 11 在 Visual Studio Code 中查看 Java 标准库文档弹出窗口?

问题描述

对 Eclipse 提出了类似的问题:Add Java Docs in Eclipse working on OpenJDK

我在我的系统上找到了 /usr/lib/jvm/java-11-openjdk-amd64/lib/src.zip。

构建和运行源文件有效。显示了通过 Maven 加载的依赖项的文档。缺少 Java 标准库的文档。

示例:

悬停

System.out.println("test");

节目

void java.io.PrintStream.println(String x)

我想在这里查看 javadoc。

它正在与:

new DefaultCamelContext();

显示

org.apache.camel.impl.DefaultCamelContext.DefaultCamelContext()

使用创建 ModelCamelContext org.apache.camel.support.DefaultRegistry 作为注册表。

使用其中一种 其他构造函数强制使用显式注册表。

编辑: 相关已安装的 Visual Studio Code 扩展是:

  • Red Hat 对 Java(TM) 的语言支持
  • Java 调试器
  • Java 测试运行器
  • Java Maven
  • Java 项目经理
  • Visual Studio intellicode

这些是通过 official Java Extension Pack from Microsoft 安装的。

edit2:我的用户 settings.json

{
    "telemetry.enableTelemetry": false,"telemetry.enableCrashReporter": false,"editor.fontFamily": "'Ubuntu Mono','Droid Sans Mono','monospace',monospace,'Droid Sans Fallback'","files.autoSave": "onFocusChange","window.zoomLevel": 3,"editor.wordWrap": "bounded","yaml.schemas": {
        "file:///toc.schema.json": "/toc\\.yml/i"
    },"window.menuBarVisibility": "default","rust-analyzer.checkOnSave.command": "clippy","editor.minimap.enabled": false,"editor.cursorBlinking": "solid","rust-analyzer.checkOnSave.enable": false,"explorer.sortOrder": "mixed","rust-analyzer.lens.methodReferences": true,"rust-analyzer.lens.references": true,"rust-analyzer.lruCapacity": 512,"workbench.colorTheme": "Default Dark+","editor.suggestSelection": "first","vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue","files.exclude": {
        "**/.classpath": true,"**/.project": true,"**/.settings": true,"**/.factorypath": true
    },"java.home": "/usr/lib/jvm/java-11-openjdk-amd64","java.configuration.runtimes": [
        {
          "name": "JavaSE-11","path": "/usr/lib/jvm/java-11-openjdk-amd64","default": true
        }
    ]
}

我的工作区 settings.json 是空的

解决方法

当我将鼠标悬停在 println() 上时,描述与通过 Ctrl+单击 方法获得的评论相同:

enter image description here

如果 jdk 中根本不存在 Java 扩展,则它们无法检测和显示文档。你可以在你的项目中试试,看看你安装的java有没有文档。

您可以尝试安装 openjdk-src 或 openjdk-doc 包吗?见OpenJDK

或者安装另一个java版本并在vscode中设置为java.home,看看这个问题是否仍然存在。

,

您可以尝试使用 this 扩展包(它包含扩展 Language Support for Java(TM) by Red Hat,当鼠标悬停在 Java 代码上时,它会提供您要查找的信息):

enter image description here

确保还启用了工具提示。您可以阅读有关启用它们的信息 here