Kotlin-Lsp:用于 Visual Studio Code 的 Kotlin 语言服务器和插件
Kotlin/kotlin-lsp
main
代码
文件夹和文件
名称| 名称| 最后提交消息| 最后提交日期 ---|---|---|---
最新提交
历史
45 次提交 api.core| api.core api.features| api.features features-impl| features-impl images| images kotlin-lsp| kotlin-lsp kotlin-vscode| kotlin-vscode protocol| protocol scripts| scripts workspace-import| workspace-import LICENSE.txt| LICENSE.txt README.md| README.md RELEASES.md| RELEASES.md 查看所有文件
仓库文件导航
用于 Kotlin 的语言服务器
这是 Visual Studio Code 的 Kotlin 官方支持的预 Alpha 版本,并且是 Kotlin 语言的 Language Server Protocol 的实现。
该服务器基于 IntelliJ IDEA 和 IntelliJ IDEA Kotlin Plugin 的实现。
快速开始
- 通过 RELEASES.md 下载最新版本的 VSC 扩展。
- 通过
Extensions | More Action | Install from VSIX
将其作为 VSC 扩展安装。- 或者,也可以将 VSIX 扩展直接拖放到
Extensions
工具窗口中。
- 或者,也可以将 VSIX 扩展直接拖放到
- 确保您的 Java 版本为 17 或更高版本。
- 打开一个仅包含 JVM 的 Kotlin Gradle 项目的文件夹,该项目将立即被识别并且 LSP 激活。
支持的功能和路线图
跟踪当前功能以及下一个版本将支持哪些功能的最佳方式是下表:
重要提示:目前,仅支持开箱即用的仅 JVM 的 Kotlin Gradle 项目。
- 项目导入
- Gradle JVM 项目导入
- Gradle KMP 项目导入
- 基于 JSON 的构建系统无关导入
- JSON 快速入门
- Maven/Amper 导入
- 完全没有构建系统的 Dumb 模式
- 高亮显示
- 语义高亮
- 导航
- 导航到 Kotlin (源码,二进制)
- 导航到 Kotlin 内置函数
- 导航到 Java (源码,二进制)
- 代码操作
- 快速修复 (例如,
replace with
) - Kotlin 检查
- 整理导入
- 转到引用
- 快速修复 (例如,
- 重构
- 重命名
- 移动
- 更改签名
- 即时 Kotlin 诊断
- 完成
- 基于 Analysis-API 的完成
- 基于 IJ 的完成
- 启用基于 IJ 的完成
- KDoc 支持
- 项目内文档悬停提示
- 来自
source.jar
的依赖/Java 文档悬停提示
- 代码格式化
- 完全功能的 Windows 支持
- 来自文件系统的反应式更新
项目状态
该项目处于实验性的、预 Alpha 的探索阶段,旨在实现生产化。
我们快速行动,打破常规,并探索无缝开发者体验的各个方面,包括 Java 互操作性、作为独立服务器的 IntelliJ 功能的限制、LSP 的原生二进制文件以及调试功能。
LSP 支持大多数基本部分,但其最终形态尚未确定,即使是最基本和核心的部分也在定期更改。
因此,我们没有相应的稳定性保证,没有任何保证。 可以在您的玩具项目中使用它,进行试验并提供您的反馈,但不建议在日常工作中依赖其稳定性。
支持的平台
在当前状态下,已针对 Visual Studio Code 在 macOS 和 Linux 平台上测试了黄金路径。
您可以将 Kotlin LSP 与其他符合 LSP 的编辑器一起使用,但必须手动完成配置。 请注意,Kotlin LSP 使用基于拉取的诊断,因此编辑器必须支持该功能。
您可以在 kotlin-lsp.sh 中找到独立的 LSP 启动脚本,以及 scripts 文件夹中 非常实验性的 (又名 “在某些人的机器上工作”) 指令,这些指令为其他编辑器设置 LSP。 请参阅 ./kotlin-lsp.sh --help
以获取可用选项。
源码
目前,LSP 的实现部分是闭源的,主要是为了开发速度的便利性——它严重依赖 IntelliJ、Fleet 的各个部分,以及我们分布式 Bazel 构建,这使我们能够快速迭代并更快地进行试验,在需要时走捷径并重用内部基础设施。 在初始稳定阶段并定义最终功能集之后,我们将把 LSP 实现与内部存储库和构建管道分离,并完全开源 (显式依赖 IntelliJ),这是一个临时的约束。 VSC 扩展镜像到 kotlin-vscode,因为它不依赖任何内部内容。
反馈和问题
提供反馈或报告问题的最佳方式是在 GitHub issues 中提交一个 bug。
作为临时限制,不支持直接贡献,因为此存储库是只读镜像,但可以打开一个 PR 到文档中,它将由维护人员手动集成。
关于
Kotlin Language Server and plugin for Visual Studio Code
资源
许可证
Apache-2.0 license Activity Custom properties
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Contributors 4
-
darthorimar Ilya Kirillov
-
qwwdfsad Vsevolod Tolstopyatov
-
strangepleasures Pavel Mikhailovskii
-
Badya Bogdan Mukvich
Languages
- Kotlin 93.0%
- TypeScript 3.5%
- Starlark 2.7%
- Other 0.8%