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 的语言服务器

Kotlin Alpha JetBrains incubator project

这是 Visual Studio Code 的 Kotlin 官方支持的预 Alpha 版本,并且是 Kotlin 语言的 Language Server Protocol 的实现。

该服务器基于 IntelliJ IDEAIntelliJ IDEA Kotlin Plugin 的实现。

快速开始

  1. 通过 RELEASES.md 下载最新版本的 VSC 扩展。
  2. 通过 Extensions | More Action | Install from VSIX 将其作为 VSC 扩展安装。
    • 或者,也可以将 VSIX 扩展直接拖放到 Extensions 工具窗口中。
  3. 确保您的 Java 版本为 17 或更高版本。
  4. 打开一个仅包含 JVM 的 Kotlin Gradle 项目的文件夹,该项目将立即被识别并且 LSP 激活。

quickstart_sample.gif

支持的功能和路线图

跟踪当前功能以及下一个版本将支持哪些功能的最佳方式是下表:

重要提示:目前,仅支持开箱即用的仅 JVM 的 Kotlin Gradle 项目。

项目状态

该项目处于实验性的、预 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

资源

Readme

许可证

Apache-2.0 license Activity Custom properties

Stars

52 stars

Watchers

6 watching

Forks

0 forks Report repository

Releases

No releases published

Packages 0

No packages published

Contributors 4

Languages