Java
有两个扩展为 Zed 提供 Java 语言支持
- Zed Java: zed-extensions/java 和
- Java with Eclipse JDTLS: zed-java-eclipse-jdtls。
两者都使用
- Tree-sitter: tree-sitter/tree-sitter-java
- 语言服务器: eclipse-jdtls/eclipse.jdt.ls
安装 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,并且可以将这两个扩展配置为使用它。
- MacOS:
brew install jdtls
- Arch: AUR 中的
jdtls
或手动下载安装
- JDTLS 里程碑构建(每两周更新一次)
- JDTLS 快照构建(频繁更新)
另请参阅
支持
如果您在使用这些插件时遇到问题,请在它们各自的存储库上提出问题