I’ve run this by my team and multiple people are interested, so we will probably buy a (small) group license once the holidays are over. I’m personally very excited, I like PyCharm much more than VS Code.
Things we would need:
Remote development is a requirement, our company mandates that all development be done on remote EC2 servers
People have expressed lots of interest in having a better debugger than is available in VS Code
We are currently waiting for approval by the JetBrains marketplace - which is probably taking a few days now.
On a sidenote: though the debugger works, I am not super satisfied with performance yet, in particular on Global Main variables. I will try to improve on that for the next release.
Next up: Performance improvements, remote debugging and JETLS
@PetrKryslUCSD : I will dm you the download link from the marketplace in a minute - Thanks again for your support!
@Satvik / @csvance: I also added an experimental remote runner over ssh. I am not super satisfied, as it is not a proper solution for remote debugging (it only allows running - albeit with output scraping), but it is a start and already allows you to run scripts on the system and get the results in the new “Julia” view. Unfortunately, I will have to dig deeper into the capabilities of DebugAdapter to understand if there is a way to improve on it.
I am finding the licensing confusing. I wanted to get a 7 day license, but it keeps taking me back to the download page for all of the versions. All I want is a license because I have already installed the plugin.
Ah, there is no 7 day license, only an automatic 7 day trial. Jetbrains only offers monthly or annual terms. So you should be able to just install the plugin and activate the 7 day trial and by the end of it switch over to the monthly one. But pm me if that causes any issues.
If you don’t register for any of the automatic discounts given, feel free to message me for a discount.
That said: the next update 2025.3.1 is a major one, where it fixes many of the issues listed above. The visualization was largely missing from 2025.2.0. so you may want to hold back for a few days (or I can send you a quick download link of the latest release).
Looks like you already addressed most of the things I was going to bring up, looking forward to trying the new version! One thing I’d say in the long term is it would be good if the integrated REPL behaved more like the normal Julia one. For instance being able to switch to Pkg mode with ] and handling multi line inputs.
I truly didn’t see that before. I saw all the other bits (paid license, subscription, activation code, license server). I have no idea if it wasn’t there or if it was blindness on my part.
JETLS & LSP & inbuilt doc support: LSP or JETLS based autocomplete, documentation and other features (validation etc), also hardcoded as inbuilt functionality (faster)
LSP/JETLS are currently disabled by default, but super easy to enable (Settings → Julia → Language Server)
LSP/YAML hybrid mode: uses built-in docs by default, LSP as optional enhancement
Package Manager: “Add from URL” for GitHub packages
JETLS package now added to search as it is missing from registry
Documentation and autocomplete and validation are the main theme of this update. I struggled a lot with the performance of either LSP or JETLS and I am not entirely convinced that this should not be handled plugin-side.
Startup of JETLS is usually ~30s (there is a progress bar at the bottom) and packages must be installed. Lookups take up to 10s. LSP provides much faster lookups (for now as I heard JETLS is improving on that), but also adds the additional warmup/initialization.
Anyway, I ended up implementing both - a hardcoded logic that is super fast, and one that relies on the server based solution (if installed). User gets to decide and either merges or replaces the inbuilt logic. To enable the user has to enable the language server settings in File - Settings - Languages - Julia - Language Server.
Next up: Performance Improvements, Grammar & Remote debugging
@PetrKryslUCSD : I will dm you the download link again. As always - thank you for the support.
Hi, I am tryng the Jetbeain tools, Pycharm in my case with the flexible Julia plugin… I could only find the 2025.2.0 on the Jetbrains plugin page… Is there a delay on the plugin versions available ?
Unfortunately so, yes. It takes 2 business days for the validation to go through (and since it was christmas, close to a week this time) - don’t think we’ll get it before the end of monday. But i can send you a download link from the marketplace if you are eager to try.
Thank for your prompt reaction ! I am tempted, yet I am supposed to be on vacation… so, I am going to wait for the official version to be available ! Thanks again
It is not a “feature” that it is disabled, but i wanted to highlight that it is easy to enable and to configure to your liking.
That said, here is the reasoning why: LS at least in its current form duplicates many features that are commonly implemented in JetBrains plugins. Navigating in between elements, autocomplete, inline documentation, formatting, error validation, renaming of symbols, highlighting, folding and more - those are all core features you will find in good language implementations natively in JetBrains plugins - including particular integrations into their UI and logic. And it comes at a cost - 30+ seconds warmup time, user must install the packages, and a slight (or in case of JETLS significant delay) could make the language less approachable for those starting out.
However, I do understand how significant this concept is to you all, hence the reason why I added both flavors (JETLS/LSP) and you can enable it easily and permanently…
I hope that makes sense to you - otherwise: happy to be convinced otherwise. I don’t always know how you use your tools, so do tell
Yes. The plugin handles most of these or at least should.
There are still some benefits I can think of in using LS though - compiler errors or cross-package source navigation. Those can still be added by other means (for instance by really implementing the sdk in the IDE), but I haven’t given it too much thought yet. Like I said - still early…