Any plan for Supporting Language Server Protocol?

The language server protocol (LSP) is a common protocol for a tool and a language smartness provider.

It will be nice to have a Kotlin language server, since there are already some popular LSP clients available (VSCode, NeoVim) and some are in progress (emacs, sublime etc.).

5 Likes

We have no plans to support LSP at this time. Instead, we’re focusing on providing the best possible Kotlin development experience in our own IDE, IntelliJ IDEA.

1 Like

While I understand your focus on developing your IDE, I believe the general acceptance of Kotlin is in the best interest of both JetBrains and the programming community. While I wish to use Kotlin on my work projects, I cannot convince managers to even consider Kotlin since there is no Kotlin language server to support integration with a variety of tools from a variety of vendors and the Open Source community. IF JetBrains were to play nice, it would help the adoption of the Kotlin languages. Sure some members of the team would use tools not built by JetBrains, but I and many others would purchase commercial IntelliJ IDEA licenses, because it would be the leading tool. So overall, I believe adding such community focused capabilities would help your business as well as the greater adoption of the Kotlin language.

Thank you for reading this.

4 Likes

I think supporting LSP would help provide the best possible development experience. Since the protocol is here to build outstanding support for a language, all the IDE has to do is support the protocol. I think the IntelliJ IDEA would benefit largely from supporting this. What’s the argument against it?

2 Likes

The LSP doesn’t allow to build outstanding support for a language, it allows to build the “least common denominator” support only.

1 Like

Just to understand. What language support would be missing from the IDE if IntelliJ was using the Language Server Protocol?

For example, all refactorings other than Rename.

2 Likes

Indeed, as per this issue. Thanks.

This is a no excuse. You can’t always let the commons denominator be the same and extend the protocol with custom requests that fulfills your needs. This way your open source code could really be useful to the community and not confined in the Intellij Idea scenario.
You just have to decide if you want an open API approach or prefer to keep everything in house. (Which is legitimate, I’m not judging anyone.)

We can develop our product far more efficiently if we can build the features we need as part of our product directly, not as extensions to a third-party protocol. Also, the quality of experience of people developing Kotlin in IntelliJ IDEA is far more important to us than the usefulness of our open source code to the community of developers not using IntelliJ IDEA.

3 Likes

I’ve built a decently complete language server implementation using the Kotlin compiler implementation, it’s still a little buggy but quite usable. You can try it out by installing it from the VSCode marketplace: https://marketplace.visualstudio.com/items?itemName=georgewfraser.kotlin

2 Likes

We maintain an Intellij plugin for our product. Our product also runs a Language server that works well on VS code, vim, emacs etc. It’d be nice if IntelliJ undestands the language server protocol to provide basic features like auto-completion, symbols etc so that we don’t have to re-implement all of this on our IntelliJ plugin.

1 Like

There’s a plugin for IntelliJ IDEA that allows it to act as a client for a Language Server Protocol server: https://github.com/gtache/intellij-lsp

2 Likes

I’d interested in a Kotlin LS on VS Code…

1 Like

You can contribute to existing one: https://github.com/fwcd/KotlinLanguageServer

2 Likes

(My personal view.) Are we taking about adding LSP support in Intellij then i vote -1 IntelliJ is a IDE (supports Java, Clojure, Scala, Kotlin etc already) LSP is trying to bring same IDE feature to Editors. IDE already having many features and bringing LSP into IDE is a redundant.

If so many LSP users really like to use it in a Editors then my suggestion to JetBrains is to provide a “Different” minimum version of JetBrains Editor and support only LSP, but not in Intellij. I love to be IDE minimalist ! When i download IDE i do remove many plugins from my IDE and have only necessary to me so adding LSP default to Intellij is useless people like me.

IMO a language should be neutral of the tools. from me all the arguments made by @yole is like trying to build a language to increase their jetbrains product coverage and in return trying increase the sales of their commercial products. Now i can image why you guys made the IJ Community version, and one things for sure that not for the FOSS.

@yole has just explained the motivation of JetBrains and technical constraints of the current LSP version. JetBrains invested a lot in Kotlin and gives it away for free. You can even get a world class IDE for free with excellent Kotlin support. There is nothing special with Kotlin or the license that would hinder anyone to build another IDE or plug-in. But it is a bit strange to accuse JetBrains of not working for the competition.

If you miss LSP support for Kotlin than why don’t you help to improve it?

4 Likes

I think we’ve always been very transparent with our motivation. Yes, we’re a commercial company. As our Web site says, our mission is to make professional software development a more productive and enjoyable experience. In order to be able to fulfil that mission, we need to have a sustainable business model, which means that we need to sell our commercial products. At the same time, we release products as open source when we consider that an open-source license is the most appropriate choice for a given product, for different reasons (ease of adoption, ease of extension, etc.). Our open-source projects use industry-standard licenses with no additional restrictions. We also support the open-source community in various ways, including making licenses available for free and direct monetary sponsorship. But no, we never do anything purely “for the FOSS”, and I don’t think we ever claimed that we did.

10 Likes

You’re doing something wrong. I’ve never heard of any company not accepting Kotlin because there is no language server support…No static code analysis? Yes, it was a problem, but now we have Detekt. I introduced Kotlin to half a dozen companies and I’ve never seen this come up. I know it is not statistically significant, but I’d still reconsider my marketing strategy if I were you.

1 Like