New: Julia for JetBrains IDEs (Flexible Julia)

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
4 Likes

Wow that is awesome. So I guess remote debugging support is getting pushed up on the list :wink:

2 Likes

New Release: Flexible Julia 2025.3.0

New Features:

  • Debugger: XDebugger integration with Debugger.jl (breakpoints, step, continue)
  • Environment Switcher: Status bar widget to switch Project.toml environments
  • Package Manager UI: Visual package browser (Julia Packages tool window) with julia registry integration
  • Julia View: Visualize variables, plots & datatables in the Julia View tool window
  • SDK Auto-Detection: Automatically finds Julia installations (but can also be set in Settings → Julia → SDK)
  • Remote Runner: Experimental ssh remote runner support

Fixes:

  • Various fixes to the REPL implementation



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.

10 Likes

That is super cool.

This is sooo timely. I just put up a project last night that had Go code with Julia for visualization.

2 Likes

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

1 Like

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.

2 Likes

I have failed so far to activate the 7 day trial due to a circle of links.

I will try with the next version.

That is odd. Which steps did you take?

You should be able to install the plugin via File - Settings - Plugin - Flexible Julia.

Once installed you get a popup like this:

Hit “Start Trial” and accept and that should work immediately. But feel free to message me, so we can figure this out :slight_smile:

Working on it :slight_smile:

2 Likes

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.

2 Likes

Haha - could have been me :slight_smile:

New Release: Flexible Julia 2025.4.0

New features:

  • 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
  • REPL auto-starts when tool window opens
  • LSP status indicator with progress bar

Fixes:

  • LSP hover documentation now displays correctly
  • LSP initialization race conditions
  • Windows compatibility for JETLS detection




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.

9 Likes

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.

1 Like

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

1 Like

Why is the LS being deactivated by default a feature? The LS is pretty much indispensable for larger codebases.

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 :slight_smile:

5 Likes

Does “goto definition” work without LS enabled?

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…

1 Like