Any plan for Supporting Language Server Protocol?

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)

5 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

5 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

Yes is supposed to be sarcastic and just quoting/replying previous post. But the sarcastic fact is how I see Jetbrains and their work even though i do use IntelliJ Community time to time. And my view is when comparing to other tool developers such as Apache, Eclipse Foundation, IBM, Microsoft, Apple, Google and Redhat. May we should not carry this further since this is not what this thread is about. So people who thinks “WTF” can just be happy with their own opinion.

1 Like

The LSP doesn’t allow to build outstanding support for a language…For example, all refactorings other than Rename.

Basic refactoring for delegate methods still not implemented
https://youtrack.jetbrains.com/issue/KT-4224

It seems JB is busy with something else :slight_smile:

Yes they are, with completely rewriting the front end for Kotlin, revamping the type inference algorithm, oh and also creating a common ir backend to allow for a wide variety of crazy additions to the language to be made and used by the community. The new front end should make those refactorings much easier to implement, btw, which is why they are probably delaying some of these QoL improvements for now because they’ll do them all in one batch when they are sure that the new frontend is gonna stay for the future.

1 Like

@yole I’ve been an avid Jetbrains fan for the last 7 years (intellij com&ent, AS, WS). The products are awesome. But the absence of this feature (or neovim integration) is unfortunately pushing me away.

I’ve also been a Vim user for far longer. I prefer to do most of my text editing in Vim and go back and forth to the IDE for refactoring or diving into external library source. I even wrote a tiny plugin to make vim/ide app switching a single hotkey. I also use ideavim, which is great and always improving, but it doesn’t give me everything that vim does (at least not until jetbrains integrates with neovim like vscode has).

I jealously watch coworkers use VSCode and LSP to move their backend to a container or server, etc, and to use alternate frontends, like Vim.

Lack of integration with my favorite editor is making me leave. It’s just a matter of me taking the time to install some Vim plugins and/or VSCode and I’m gone. I’ll miss WebStorm. I’ll keep it around for large refactors, until my license expires, as it’s truly stellar at refactoring.

3 Likes

I think we all know here that Jetbrains is interested in promoting their ide intead of having people using other ides because that is where most of the money come from.
But I think they could have a middle ground solution in which intellij is used as the backend server for the lsp doing all the heavy work and fancy features that it does and allowing people to use other editors just as frontend so that we can enjoy the great macro keybindings and easy extensibility that an editor like emacs can provide that intellij does not provide and have no interest in providing.
So people that do consider purchasing the ultimate version could still be interested in buying that even using another editor as frontend.

2 Likes

FWIW I would gladly pay even the full price of the IDE if I could just get IntelliJ headless mode and use it as an LSP backend for writing Kotlin in Neovim.

2 Likes

I’d also like LSP support. I’m forced into the ecosystem by Android, but feel like I am consistently dealing with a subpar development experience simply because JetBrains wants to strong-arm people into using their IDE.

1 Like

I’d say having an LSP is in your interest. You can have a free limited version and a premium LSP with extra features (you’d be surprised how many ppl would pay for it). That’s not the only benefit for you, as more people would use the language and projects are hardly developed by 1 person, so that increases the chances of another member of the team using Jetbrains’ IDE.

Made this stupid account just so I can comment on this thread. Jetbrains, you must understand that people spend a lot of time curating a development environment that works for them. Many programmers suffer from chronic injuries and must have their curated tools available to them for work. Forcing an IDE that nobody wants on the developers is not only a bad business practice but will make the general opinion of Jetbrains worse. Give us an LSP so we can use our tools, and make us pay for the emulator or something. You can monetize in so many different ways that are outside of IDE enforcement that would be vastly better for Kotlin adoption, public opinion, and developer experience. I promise you the short term gains of IDE sales is not a long term solution. You are slowly choking out the potential of Kotlin and it’s really sad to see. This thread is 7 years old now, times are changing. More and more people are adopting neovim as their main editor, and because they spend so much time perfecting their own environment, you will never get them to switch off of neovim and they will instead opt to not use Kotlin. It’s time to reconsider LSP adoption.

2 Likes

Kotlin’s developers should see the value in adding LSP support to attract more users. But JetBrains, doesn’t seem interested. This short-sightedness could slow down Kotlin’s growth.

Imagine someone new to coding using editors like VS Code or Vim. If Kotlin doesn’t work well with these tools, they might give up on it. So, except for Android development, experienced developers might not even think about using Kotlin if they haven’t tried it before.

2 Likes

I don’t want to start a discussion on which IDE is better, but I always wonder how people are so sure about statements like: “you’d be surprised how many ppl would pay for it”, “Forcing an IDE that nobody wants”, “This short-sightedness could slow down Kotlin’s growth.”. Maybe JetBrains did the homework and they actually know it is not worth the effort?

4 Likes

I think the people who want a language server for Kotlin in vscode don’t appreciate how bad vscode’s java experience is. It’s very weak, and there’s no reason to think it would be better for Kotlin without a lot of work.

1 Like

I don’t think that IntelliJ itself should ever use LSP even if you support it, but it’s only fair that you play nice and support LSP since other languages do it and make it possible to use jetbrains ide when you don’t have support for it properly… good example is zig. If not for the LSP we wouldn’t ever use jetbrains for zig and use vscode instead.