7 ms·
Kotlin-Lsp: Kotlin Language Server and Plugin for Visual Studio Code
- pjmlp 1y agoAre they going to kill it in one year, as they did with the Eclipse plugin, after going big on Android?
- jeroenhd 1y agoBased on the commit dates, it seems like their Eclipse plugin had at least four years of activity: https://github.com/Kotlin/kotlin-eclipse https://github.com/Kotlin/kotlin-eclipse I think the overlap between "people who use Eclipse" and "people interested in Kotlin" is pretty small, though. I've only seen Eclipse in use with companies and teams stuck working on legacy applications.
- pjmlp 1y agoNot everyone worships InteliJ. As for the one year, last release was on 2018, Kotlin was announced as main Android language in May 2017. Now re-read my comment. The three years predating it was JetBrains trying to find a way to sell Kotlin adoption, then they went big and closed shop. Now they are stuck with Kotlin being seen as an Android language for the most part, and Fleet isn't taking off.
- eitland 1y ago> Now they are stuck with Kotlin being seen as an Android language for the most part Perhaps it’s different elsewhere, but here in Norway I’ve seen Kotlin used quite extensively in large backend codebases. It also comes up frequently in job postings—employers seem to actively ask for it when hiring.
- pjmlp 1y agoIt is certainly different, given that Kotlin is about 10% of the JVM market. https://trends.google.com/trends/explore?q=java,kotlin,scala,Clojure https://trends.google.com/trends/explore?q=java,kotlin,scala... https://senacor.blog/in-praise-of-kotlin-a-modern-programming-language/ https://senacor.blog/in-praise-of-kotlin-a-modern-programmin... Most shops that use Kotlin on the backend also do Android development, as means to do core sharing between backend and Android, and there is the whole ART is not a JVM implementation anyway.
- Tainnor 1y ago> Most shops that use Kotlin on the backend also do Android development, as means to do core sharing between backend and Android None of the companies that I wrote Kotlin for or that I applied to used Kotlin for code sharing between backend and Android. It seems as if you're making a lot of assumptions in this comment thread.
- pjmlp 1y agoDoesn't change the size of the market share anyway, an assumption done on links I shared, because this is the Internet and we have to prove every little word we write. Can share more market research reports if you feel like, with similar numbers.
- Tainnor 1y agoI don't care about the market size as long as it's big enough that I can find jobs, which I can. Also no idea how the links you posted are supposed to support your assertion that Kotlin is chosen due to code sharing considerations.
- pjmlp 1y agoBeing able to find jobs in a specic technology is a very regional thing, given the market size. The links I posted, and others I can reach out for, support my assertions of 10% Kotlin market size in JVM deployments. What you call my assertion, is my assumption about where those 10% are coming from.
- Tainnor 1y agoSame in Germany, there are a lot of major companies using Kotlin for backend code.
- gavinray 1y agoAlso at a company where I write backend Kotlin and we don't have any mobile apps or any other JVM products at all. We wanted the JVM for the JDBC ecosystem due to being a data tool, and Kotlin seemed like the "least bad" flavor. No regrets.
- specialist 1y agoIs Fleet Jetbrains' Servo? I tried it for a few hours. I have no idea what I was supposed to notice. Was the intent do be a new collaboration-first engine? Yes please.
- flykespice 1y agoIt's great jetbrains finally taking some babysteps to support an official language server for VSCode after some great resilience from them. I know it's a difficult spot because such effort will also indirectly compete with their main product which is an IDE, so I'm not very optimistic it'll last.
- lucasyvas 1y agoDoes Fleet not use LSP?
- yonatan8070 1y agoConsidering how non-mature this LSP server is, probably not, Fleet probably uses whatever internal protocols JetBrains use inside their IDEs
- someothherguyy 1y ago> Backend – a headless service that does the heavy lifting: indexing, static analysis, advanced search, navigation, and the like. Every such operation is initiated by a request from the workspace, which then processes the response and dispatches the data to the components that require it. > As a backend, you can use a headless IntelliJ IDEA or a language server. https://www.jetbrains.com/help/fleet/architecture-overview.html https://www.jetbrains.com/help/fleet/architecture-overview.h...
- hocuspocus 1y agoLast time I checked it was only for Rust, specifically you couldn't use the LSP feature for arbitrary languages that aren't supported by Fleet yet. Java and Kotlin are definitely not using the LSP but their proprietary backend.
- mohamez 1y ago>I know it's a difficult spot because such effort will also indirectly compete with their main product which is an IDE, so I'm not very optimistic it'll last. I would say this if this step was taking early while Kotlin is still a new language in the market, but I think their late decision to develop an official LSP for Kotlin is because of reasons you just mentioned, but maybe they changed their minds because they saw other benifits including a wide adoption of Kotlin.
- directstar2 1y agoI wonder what triggered the sudden change of mind. They have been pretty firm on wanting keeping it closed for the purpose of giving an edge to the Jetbrain IDE's
- wiseowise 1y agoKotlin adoption has been stagnating recently (subjectively) and VSCode + forks have massive market share. It was extremely shortsighted to think that a single language would sway people to IntelliJ instead of just limiting Kotlin’s growth.
- clumsysmurf 1y agoKotlin dominates Android development, but Android Studio is free. Google has become more and more hostile towards indie Play Store developers, so in 2025 it is more risky and less lucrative. Kotlin's "home turf" (Android) may be losing developers faster faster than Jetbrains can gain them on other platforms. I assume its will be a polyglot world for some time to come, and devs that decide to retool into another stack could use anything else, leaving Kotlin behind.
- sgammon 1y agoAndroid Studio is only "free" to the user.
- mike_hearn 1y agoHardly shortsighted. IntelliJ has a business model, Kotlin doesn't. Maximizing Kotlin usage does nothing for Jetbrains directly, just creates costs. And sure it brings people to IntelliJ, more importantly, it keeps them there. It's kinda like describing Apple as short sighted for not giving away the source code to all their frameworks. Doing so would maximise usage but that's not their goal.
- wiseowise 1y ago> Maximizing Kotlin usage does nothing for Jetbrains directly, just creates costs. It brings mindshare and brand value. And it brings direct revenue in business contracts (I hope they get a hefty fee for supporting Google with Android Studio). It is also investment in the future. How many student curriculums, courses, tutorials use IntelliJ over VSCode? And how many of them convert to IntelliJ later? IntelliJ is always seen as that heavy industrial combiner for professional workers compared to nimble and hype VSCode. > And sure it brings people to IntelliJ, more importantly, it keeps them there. I might be a vocal minority here, but it keeps nothing but resentment in me. > It's kinda like describing Apple as short sighted for not giving away the source code to all their frameworks. Doing so would maximise usage but that's not their goal. Apple is trillion dollar hardware company with completely locked down ecosystem with millions (billion?) of people using their products. They can do whatever the f*k they want and developers will dance to their tune. The comparison you’re looking for is Borland. Delphi was once far more popular than Kotlin right now, and look how it ended up.
- sureglymop 1y agoThis is good, glad they're realizing this is needed.
- wiseowise 1y agoJesus Christ, finally!
- travisgriggs 1y agoI think it’s admirable that there’s a generic language server for Kotlin. Others, such as zed can benefit from this as well. That said, I would much rather use AndroidStudio for Kotlin. Hands down. I use VSCode only when I can’t find something better. I recently switched my Elixir dev to Zed and am happy with that. Pretty much only thing I choose to use VSCode for these days is my ansible setups. Otherwise: - Pycharm -> Python - Xcode -> Swift - Android Studio -> Kotlin - Zed for Elixir/Phoenix - Nova for embedded C code - vim for scripts and quick edits of any of the above VSCode for everything is like using a multitool to do woodworking in a garage. When you’re hiking or on a trip, a lightweight do it all tool has advantages. But I think it’s important to remember what IDE stands for.
- ashikns 1y agoOn a different perspective, I love that VS Code supports so many things. As full stack dev I have to work with Python/TypeScript/C# interchangeably, often in the same project. I can easily switch between projects with the same editor window, and I get to use the same keybinds.
- someothherguyy 1y agoThat is nice, but not much different from jetbrains IDEs that can do this as well? The issue with the VSCode ecosystem is that extensions can conflict, die, etc, and that is very annoying when setting up environments takes a long time, IMO.
- wiseowise 1y agoSuch as IntelliJ Ultimate that doesn’t have C++ integration, or CLion that can’t have Ruby integration or dozens of other combinations that happen in the field but not possible in IntelliJ. Truly not that different from IntelliJ!
- someothherguyy 1y agoNeither does VSCode. They are extensions, which are analogous to plugins in the JetBrains ecosystem. Although, it seems like there used to be way more plugin authors for language support pre-vscode/atom/sublime-text. You can use the JetBrains launcher to switch between projects in another JetBrains IDE though. Also, I think you can do single window mode in Ultimate to do a lot.
- mdaniel 1y ago> Currently, the LSP implementation is partially closed-source What. the. fuck. So, it's Apache 2 for the TypeScript, seems to ship an Apache 2 copy of IntelliJ (just like any Java language server), but smuggles some kind of binary. They truly have lost their way
- jillesvangurp 1y ago> Currently, the LSP implementation is partially closed-source, primarily for the sake of development speed convenience -- it heavily depends on parts of IntelliJ, Fleet, and our distributed Bazel build that allows us to iterate quickly and experiment much faster, cutting corners and re-using internal infrastructure where it helps. After the initial stabilization phase and defining the final set of capabilities, we will de-couple the LSP implementation from the internal repository and build pipelines and open source it completely The full quote ... Instead of working on this behind closed doors for the next year or so and then open sourcing everything, they are releasing some open source now with the intention to open source the rest later. I see no problem with that. Seems pragmatic. More companies should do that. Bottom line, you are getting free stuff now. Some of it OSS now. All of it OSS later. No need to get upset.
- pjmlp 1y agoNot like any Java language server. Red-Hat/Microsoft ship Eclipse headless, and Oracle ships Netbeans headless, they don't ship an Apache 2 copy of IntelliJ. And really, just get the full deal instead of running them headless alongside Electron package.
- kartikarti 1y agoWhy overreact? Closed-source - bad, first steps towards open-source - bad. Is it always all or nothing?
- qwwdfsad 1y agoHey! I'm the author of the decision to "open-source" it in its current form. Previous commenters nailed it -- it's much better to make the LSP generally accessible now -- to use it, to explore, to iterate on the actual feedback and not on the internal echo-chamber instead of cooking it internally for ~one year to make it fully OSS. And not having to fight an uphill battle with the internal codebase (we have plenty of experience here -- Kotlin itself is fully OSS while IDEA part is mirrored through the internal monorepo) makes wonders. > smuggles some kind of binary These are basically IJ parts. No new dependencies, no statistics, no internet access from this code. It is also not obfuscated, so if you really worry about the contents -- any public bytecode decompiler will do.
- satoru42 1y agoGot the following error when trying to install it on Cursor: > Error: Unable to install extension 'jetbrains.kotlin' as it is not compatible with VS Code '1.96.2'.
- jeroenhd 1y agoIs your version of Cursor outdated or is Cursor really still running on a version of VS Code released half a year ago?
- misja111 1y agoWhy would anyone want to use VSC for Kotlin? After all the Kotlin creators are also the ones after JetBrains IntelliJ, it's hard to imagine some other IDE could suit Kotlin better?
- pjmlp 1y agoThey even created Kotlin to help sell InteliJ licenses, cleary they are having an adoption problem outside Android. "The next thing is also fairly straightforward: we expect Kotlin to drive the sales of IntelliJ IDEA. We’re working on a new language, but we do not plan to replace the entire ecosystem of libraries that have been built for the JVM. So you’re likely to keep using Spring and Hibernate, or other similar frameworks, in your projects built with Kotlin. And while the development tools for Kotlin itself are going to be free and open-source, the support for the enterprise development frameworks and tools will remain part of IntelliJ IDEA Ultimate, the commercial version of the IDE. And of course the framework support will be fully integrated with Kotlin." -- https://blog.jetbrains.com/kotlin/2011/08/why-jetbrains-needs-kotlin/ https://blog.jetbrains.com/kotlin/2011/08/why-jetbrains-need...
- nsonha 1y agoWhy is it that only you say this, everytime the same user handle, cherry-picking things out of context. The part that you quote, is understood clearly that: for a company to do a thing (develop a programming language, for free), that thing need to tie back to their bottom line somehow. That is not the same as "in order to sell more IDE licences, we need to create a programming language". That is such a roundabout way to think, why not just make more IDE variants for the uncovered languages, and not have to deal with promoting this entire new thing? > an adoption problem outside Android At this very moment I am working on a product with a kotlin back-end and flutter front-end.
- eitland 1y agoIn my case it is simple: I think IntelliJ is great but I much prefer VSCode and NetBeans. Why? Two main reasons: - On the projects I tend to work on, IntelliJ has a habit of breaking its internal configuration a few times a year—not just for me, but for my colleagues as well. When it does, it can take the better part of a day to sort out. Often I end up getting frustrated, deleting anything not under version control, reimporting the project, and end up having to reconfigure all the database connections and other bits manually. - I also just prefer the more straightforward feel of NetBeans and VSCode. It’s a bit like my old car: less automation, fewer clever electronics. Sure, the new one is objectively better in many ways—but the old one was easier to get out of the snow, and it rarely surprised me.
- eitland 1y agoGreat! As much as I love Kotlin and have a great deal of respect for JetBrains, I’ve always preferred the other Java IDEs over IntelliJ. The fact that choosing Kotlin—which I genuinely do prefer—effectively locks you into IntelliJ for the foreseeable future has been one of the main reasons I’ve hesitated to recommend it unreservedly for every project. Just to be clear: I think IntelliJ and the rest of JetBrains’ tools are excellent and absolutely worth the price. I simply happen to prefer the alternatives—and they happen to be free. That said, I realise this is very much a personal preference, and one that most others don’t seem to share.
- arunix 1y agoWhat are the IntelliJ alternatives you prefer?
- eitland 1y agoNetBeans was my go-to IDE until I started working with Kotlin, which more or less forced me over to IntelliJ. I’ve also tried VSCode on some pure Java/Maven projects since then, and found that it shares some of that same feel—more lightweight and direct, which I’ve always quite liked.
- wejick 1y agoNo offense. Has been years I don't see people using NetBeans. Made me check the website, surprised that the latest release is like just yesterday.
- gengstrand 1y agoKotlin does not lock you in and has not locked you in to IntelliJ. About a year ago, I coded up a Kotlin service using VS Code. See https://glennengstrand.info/software/coding/csharp/kotlin https://glennengstrand.info/software/coding/csharp/kotlin for my description of that including how nice the developer experience was under VS Code. The plugin I used was https://github.com/mathiasfrohlich/vscode-kotlin https://github.com/mathiasfrohlich/vscode-kotlin which works like a charm.
- matthew-craig 1y agoThis is amazing news. The inability to write Kotlin in emacs was the only thing stopping me from using the language. I really hope that this means that we can some day get a Jetbrains Java LSP. I would pay for an Intellij Ultimate subscription just to get access to such a thing.
- systems 1y agoi love emacs, but nowadays i would argue most languages are far better supported outside emacs, with few exception like lisps so being strictly emacs, will really limit your choices, and honestly waste your time
- -__---____-ZXyw 1y agoWhat do you love about emacs, if I may ask? Bit hard to guess what you could mean, given your subsequent claims there.
- bunderbunder 1y agoNot original poster, but I will say that I specifically love Doom emacs. It is really easy to navigate only from the keyboard. It uses vim-style keybindings for everything, so you don't have to do all the weird hand contortions that happen a more traditional emacs-style interface. When you do access functions, they are handled with multi-keystroke gestures while you're in command mode. The keystrokes are effectively navigating through a menu tree. There's a minibuffer at the bottom of the screen to help you navigate, so you don't have to rote memorize everything, but anything you do use often enough to memorize can be accessed in 2-4 keystrokes. Some of the plugins are just amazing. Projectile - a project management and navigation sidebar - has really good ergonomics compared to what I'm used to with graphical IDEs. Magit is a fantastic and powerful git interface, and the only in-editor git interface I'll actually use; in any other IDE I'll just use git from the command line. I've got to mention orgmode, of course. I'm not sure I can articulate why I like it so much; it's kind of like a vi-style editor interface where it's hard to grok without putting in some time, but those who do put in the time tend to fall in love. I will agree that emacs's language support is spotty compared to vscode, but in this day and age that's true of any editor that isn't vscode. And it also lacks that really deep melding with the language that you get with IDEs that are all-in on one platform like IntelliJ IDEA and Visual Studio. But in general it's kind of an outlier in terms of popularity-to-polish ratio.
- twen_ty 1y agoApart from legacy projects written in Kotlin, after Java 21/23, what's the argument for using Kotlin anymore, especially that it's a proprietary language?
- pjmlp 1y agoHaving to target Android, Google's .NET, mostly.
- cosmic_cheese 1y agoYep. Not sure I’d use it elsewhere, but it’s the best option for Android dev at the moment.
- thuridas 1y ago- It has the best null handling mechanism - Java handling of mutability of variables and collections - Java is still more verbose and with less powerful utilities - Much better for functional programming -Some things were done right with all the learnt lessons. E.j. equals Vs == I respect preferring free languages. But I love Kotlin
- Aaron2222 1y agoYou'll be happy to hear that Kotlin is licensed under Apache 2 then. From https://kotlinlang.org/docs/faq.html#is-kotlin-free https://kotlinlang.org/docs/faq.html#is-kotlin-free: Yes. Kotlin is free, has been free and will remain free. It is developed under the Apache 2.0 license, and the source code is available on GitHub.
- flanked-evergl 1y ago> especially that it's a proprietary language In what sense is Kotlin a proprietary language? It's Apache 2.0 licensed AFAIK. And there are many projects that use Kotlin which are not legacy projects. But to answer your question that is loaded to the brim with false assumptions/claims directly: https://kotlinlang.org/docs/comparison-to-java.html https://kotlinlang.org/docs/comparison-to-java.html
- andy800 1y agoWith the proliferation of JS, TS, Python, Go, etc, Kotlin is probably not even a thought for many young developers. Any efforts by JetBrains to bring Kotlin to where the people are at (as opposed to expecting people to come to IntelliJ) is welcomed. Call me a stan, whatever, but Kotlin is the best, most productive language I've ever used, by far. Yes, it takes some effort to understand how to effectively utilize some of its features, but once you do, productivity (and enjoyment) elevates tremendously.
- jerryslm 1y agoI like Kotlin. Please show some love to https://github.com/Kotlin/kotlin-eclipse https://github.com/Kotlin/kotlin-eclipse as well. So that I can build my next app in it.
- nsonha 1y agoLooks like they extracted this out of Fleet, which is interesting because Fleet is failing to load this project of mine while this can.
- mr7uca 1y agoSuper happy about an official lsp. But still mentions: "Important note: currently, only JVM-only Kotlin Gradle projects are supported out-of-the box." Like all the 3rd party lsps atm. Hopefully they add kmp support soon (it's on their roadmap), still worthless for my workflow without kmp.