Any plan for Supporting Language Server Protocol?

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.)

1 Like

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.

4 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

3 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: GitHub - gtache/intellij-lsp: Plugin adding Language Server Protocol support for IntelliJ

3 Likes

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

1 Like

You can contribute to existing one: GitHub - fwcd/kotlin-language-server: Kotlin code completion, linting and more for any editor/IDE using the Language Server Protocol

3 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.

1 Like

@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?

5 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.

13 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

I am very disappointed by JetBrains’s refusal to support any tooling outside their ecosystem. I have a physical injury which prevents me from using any IDEs, they all have an interface that physically hurts me due to the frequent use of the mouse and convoluted keyboard shortcuts. I have only been able to be comfortable using Vim and Neovim. I even have a vi-like plugin for my web browser and use a tiling window manager which allows me to do most of my computing with the keyboard only.

The entire point of LSP is to offer the same quality of tooling to all users, regardless of what editor they use. For some people the choice of editor might seem like a luxury, for me (and some other people) it is a necessity.

I can use Java with the eclipse.jd.ls server just fine, so the entire LSP thing is working. What really gets me is JetBrains’s stubbornness to offer anything. If you are not going to develop a standalone server, at least make it possible to run a headless IntelliJ instance as the server instead. You get your vendor lock-in, and I get to use an editor that doesn’t cause me physical pain.

(and yes, I know about the vi-binding plugins for IntelliJ, and no, they are not enough)

3 Likes

I know you mentioned it in your post but I figure I’d copy it here in case others find it: IntelliJ supports Vim keyboard shortcuts–it’s one of the main plugins shown to you during installation.

I find the phrasing “JetBrains’s refusal to support LSP for Kotlin” odd. You might as well say “Microsoft’s refusal to support Kotlin in LSP” (or any other company). Maybe JetBrains is targeted because people assume they stand to benefit the most from more IDEs supporting Kotlin?

When JetBrains answers the requests for LSP with “What’s our motivation and benefit to us?” and after evaluating they decide the benefits to them aren’t worth the cost at the present time, their response becomes, “Sure, go find a motivated supplier for Kotlin LSP”

Luckily, Kotlin LSP does have motivated suppliers, the community! Here’s a link to the leading Kotlin LSP project.

EDIT: Fixed link. Thanks @Wasabi375

2 Likes

That link doesn’t work. Did you mena to link GitHub - fwcd/kotlin-language-server: Kotlin code completion, linting and more for any editor/IDE using the Language Server Protocol?

2 Likes

I know you mentioned it in your post but I figure I’d copy it here in case others find it: IntelliJ supports Vim keyboard shortcuts–it’s one of the main plugins shown to you during installation.

I know about that one, it’s better than nothing, but not good enough for me. But to be fair, the same is true for most vi-binding plugins in other editors as well.

Luckily, Kotlin LSP does have motivated suppliers, the community!

Yes, I have set that one up. It’s better than nothing, but it still lacks a number of features like renaming variables.

When JetBrains answers the requests for LSP with “What’s our motivation and benefit to us?” and after evaluating they decide the benefits to them aren’t worth the cost at the present time, their response becomes, “Sure, go find a motivated supplier for Kotlin LSP”

Here is the thing: JetBrains invented Kotlin and they are using it as a Trojan Horse to force their IDE upon people. If your team decides to use Kotlin (because they are using IntelliJ anyway, so they don’t see anything wrong with it) and you cannot use IntelliJ you are out of luck. This is no different than for example Apple making their iOS development tools Mac only.

But there could be a compromise: let me use a headless IntelliJ as a language server. That way JetBrains gets to force their product upon me, and I get to use the editor I want. They already allow you to use IntelliJ as a standalone formatter from the command line (which is a feature I used a lot), so it’s not an outlandish idea.

2 Likes

Here is the thing: JetBrains invented Kotlin and they are using it as a Trojan Horse to force their IDE upon people. If your team decides to use Kotlin (because they are using IntelliJ anyway, so they don’t see anything wrong with it) and you cannot use IntelliJ you are out of luck

I totally agree with you, IntelliJ products are like COVID19, once it enters an organization it consumes the whole. I have see many hard core other IDE users change over time. The multiplication of IntelliJ product users are like the following statement from avengers 2 movie

The guy’s multiplying faster than a Catholic rabbit.

What ever they do and do open source is to expand their IDE market share, And thats the very reason they open up intelliJ community versions for commercial products as well.

Apple is better that them, It’s not even worth to compare Jetbrains with Apple or Microsoft. Kotlin in a nice language but too bad jetbrains is behind it. I would wish it should have been someone like RedHat or Microsoft.

Wtf

4 Likes

I’m pretty sure @gayanper post is sarcasm. Forums/text doesn’t carry the tone though so it might be worth editing it to clarify.

The reason I think it’s sarcasm is that he points out basically all reverse points:

  • IntelliJ infecting everyone => IntelliJ is used and loved by many. Even by users deeply entrenched in other tools
  • JetBrains forcing you to use it => JetBrains being a huge supporter of OpenSource and free tooling (and wide range of tools for many different languages)
  • Apple & Microsoft should make Kotlin instead => ironic how Swift (Apple) and C# (Microsoft) are basically exactly that but we love Kotlin for how amazing JetBrains has made and tooled it (as well as other companies languages). Purposely pointing out more heavy handed companies, like RedHat or pre-2015 Microsoft, emphasizes the irony
3 Likes