Java

有两个扩展为 Zed 提供 Java 语言支持

两者都使用

安装 OpenJDK

您需要安装 Java 运行时 (OpenJDK)。

  • MacOS: brew install openjdk
  • Ubuntu: sudo add-apt-repository ppa:openjdk-23 && sudo apt-get install openjdk-23
  • Windows: choco install openjdk
  • Arch Linux: sudo pacman -S jre-openjdk-headless

或手动下载并安装 OpenJDK 23

扩展安装

您可以通过打开 zed: extensions(cmd-shift-x|ctrl-shift-x) 并搜索 java 来安装任一扩展。

我们建议您安装其中一个,而不是两个都安装。

设置 / 初始化选项

这两个扩展都将自动下载语言服务器,请参阅下面的 手动 JDTLS 安装,如果您希望自己管理它。

有关可用的 initialization_options,请参阅 Eclipse.jdt.ls Wiki 的 Initialize Request 部分

您可以通过启动 zed: open settings(cmd-,|ctrl-,) 或使用项目中的 .zed/setting.json 将这些自定义添加到您的 Zed 设置中。

Zed Java 设置

{
  "lsp": {
    "jdtls": {
      "initialization_options": {}
    }
  }
}

Java with Eclipse JDTLS 设置

{
  "lsp": {
    "java": {
      "settings": {},
      "initialization_options": {}
    }
  }
}

示例配置

Zed Java 初始化选项

您还可以将许多其他选项直接传递给语言服务器,例如

{
  "lsp": {
    "jdtls": {
      "initialization_options": {
        "bundles": [],
        "workspaceFolders": ["file:///home/snjeza/Project"],
        "settings": {
          "java": {
            "home": "/usr/local/jdk-9.0.1",
            "errors": {
              "incompleteClasspath": {
                "severity": "warning"
              }
            },
            "configuration": {
              "updateBuildConfiguration": "interactive",
              "maven": {
                "userSettings": null
              }
            },
            "trace": {
              "server": "verbose"
            },
            "import": {
              "gradle": {
                "enabled": true
              },
              "maven": {
                "enabled": true
              },
              "exclusions": [
                "**/node_modules/**",
                "**/.metadata/**",
                "**/archetype-resources/**",
                "**/META-INF/maven/**",
                "/**/test/**"
              ]
            },
            "jdt": {
              "ls": {
                "lombokSupport": {
                  "enabled": false // Set this to true to enable lombok support
                }
              }
            },
            "referencesCodeLens": {
              "enabled": false
            },
            "signatureHelp": {
              "enabled": false
            },
            "implementationsCodeLens": {
              "enabled": false
            },
            "format": {
              "enabled": true
            },
            "saveActions": {
              "organizeImports": false
            },
            "contentProvider": {
              "preferred": null
            },
            "autobuild": {
              "enabled": false
            },
            "completion": {
              "favoriteStaticMembers": [
                "org.junit.Assert.*",
                "org.junit.Assume.*",
                "org.junit.jupiter.api.Assertions.*",
                "org.junit.jupiter.api.Assumptions.*",
                "org.junit.jupiter.api.DynamicContainer.*",
                "org.junit.jupiter.api.DynamicTest.*"
              ],
              "importOrder": ["java", "javax", "com", "org"]
            }
          }
        }
      }
    }
  }
}

Java with Eclipse JTDLS 配置

配置选项与 redhat-developer/vscode-java 扩展中提供的选项匹配。

例如,要启用 Lombok 支持

{
  "lsp": {
    "java": {
      "settings": {
        "java.jdt.ls.lombokSupport.enabled:": true
      }
    }
  }
}

手动 JDTLS 安装

如果您愿意,您可以自己安装 JDTLS,并且可以将这两个扩展配置为使用它。

或手动下载安装

另请参阅

支持

如果您在使用这些插件时遇到问题,请在它们各自的存储库上提出问题