New: Julia for JetBrains IDEs (Flexible Julia)

Makes no difference (I have 20 cores)

When trying this I notice that a couple of of cores are running non-stop. Even after half an hour after the start it still shows LANGUAGESERVER (indexing)``

Interesting. Do you also see a process running in the background after the IDE has stopped? Also: which version are you running? And do you have a public repo I could check out? Can you also try running exclusively with LS? (there is an option for it, too - so ideally: try it once WITH LS excluisvely, and once without any LS enabled at all)

Lastly: “Makes no difference (I have 20 cores)” → is that with or without a language server running? (ie: did you disable the LS indexer and possibly restart the IDE? I want to figure out if this is related to the language server, the way I am starting it, or our own indexer / grammar).

So many questions, lol… sorry for all that

OK,

  • Versions. Just updated to the latests PyCharm and FlexibleJulia
  • With or without LS the core usage is the same. Note that I just open the IDE to see this (there 3 GMT.jl files open)
  • When closing the IDE the extra usage (Windows 11 is always doing something in the background) disappears.

(Have to leave now for a while)

Thanks I’ll take a look.

You may like my further findings. If I start PyCharm with no loaded file the Task Manager report shows only a scarce activity. But as long as I load any (well, the few I tried) file from the GMT.jl than core activity jumps, and takes a little while to decay again after closing that opened file.

Not sure if ‘liking’ is the right term for this, but it is helpful. I will check out the project tomorrow and see if I can recreate it. Indexing does take some cpu processing, that is to be expected but it shouldn’t take long and only happens infrequently.

:laughing:

I found the culprit. Uploading a fix as we speak :slight_smile:

New Release: Flexible Julia 2026.9.16

New Features:

Fixes:

  • Performance improvements for large projects (thanks @joa-quim for reporting)
  • Doc popup links now navigate to the correct function (Issue #104, @ufechner7)
  • False “Undefined variable” for symbols from external packages in included files (Issue #105, @ufechner7)
  • False “Undefined variable” for @variables/@parameters macro-defined symbols (Issue #106, @ufechner7)
  • Parse error on @? (help macro) in export statements, causing cascading errors in GMT.jl

This is a super quick performance-update (get it?). The cause was me two-fold: for built-in-functions I unfortunately traversed the entire tree up several times to find and resolve the function. This was used in parameter hints (the labels next to arguments) and for the index itself. So it ran for a while. The fix is now that I am skipping built-in elements for parameter hints entirely (let me know if you miss them) and to rely on stubs for the elements, which is fewer lookups.

Apart from that I also added a few improvements on the on hover documentation and validator.


@ufechner7: thank you for reporting Issues #104, #105, #106
@joa-quim: thank you for reporting the performance issue - glad that we fixed it. (let me know if you have any issue with it)

Hi,

the plugin offers the option to “enable JuliaFormatter.jl integration”. Does this overwrite the Editor - Code Style" settings and is applied when hitting Ctrl-Alt-i?

Would it also be possbile to offer Runic.jl as a formatter?

It should, yeah. I recently added that and it worked on my end, but since it is a new feature, I am always happy for feedback.

I am also happy to add Runic.jl. Could you open a GitHub ticket for me? I am out of office right now and that way I don’t forget :slight_smile:

I confirm that the light speed 2026.9.16 fixed performance issue (thanks).

A bit off-topic (but just a bit) question. Is there an equivalent to the VSCode Notebook plugin? Searching indicates that a Python plugin would install Jupyter but things look confusing.

I added a full Jupyter support. It is close to what JetBrains does with theirs but supports both repl and session based execution and editing. It is reimplemented from scratch though. You can use the new file wizard to create one and get started. Give it a go :slight_smile:

Hmm, mixed (un)success. If I try to run it as a “Julia Process” it stalls showing a yellow “JuliaProcess: Busy” at top-right corner. If I select “Julia REPL” in the Process Kernel than cell is executed but figure shows up in a separate window instead of in the Notebook, but this may be a GMT.jl issue as I had to add a condition to make the display show up in the plot panel in VSC. Maybe it needs a similar condition but don’t know which.

The session takes some time to start - there should be an indicator telling you if it ran j to an error or not. Can you check if that is the case?

Nope, see no indication of error or not. It stalls in

Hmm. Can you check and maybe copy the logs for me? There is a n option for that under the last menu tab

Sorry, can’t find that. A ScreenCapture?

New Release: Flexible Julia 2026.9.17

New Features:

  • Runic.jl Formatter: Now available as alternative formatter option in Settings (#108)

Fixes:

  • Notebook ProcessKernel no longer stalls at “Busy” when Julia process crashes or is interrupted
  • Notebook interrupt now immediately cancels execution instead of waiting for 600s timeout
  • GMT.jl figures now render inline in notebooks instead of opening a separate window
  • Broadened plot type detection for packages not explicitly recognized by the display hook
  • Parse error on @doc raw"""...""" triple-quote docstrings (#107)

Notebook stability & formatter improvements. The kernel getting stuck on “Busy” after a crash was frustrating - fixed. Same for the interrupt taking forever - now cancels immediately.

GMT.jl users: figures render inline now instead of popping up separate windows.

Also added Runic.jl as an alternative formatter if you prefer it over the built-in one.


@joa-quim: Thanks for reporting the notebook kernel and GMT.jl display issues!
@mvscheven: Appreciate the reports on docstring parsing and the Runic.jl suggestion!

@joa-quim - no worries. I improved it a bit, perhaps you can try again? You can find the release here (install via File - Settings - Plugins - Install from Disk):

https://plugins.jetbrains.com/plugin/download?rel=true&updateId=1012301

GMT was super slow for me to load. You may want to experiment with your precompile settings in the Julia Settings (File - Settings - Language - Julia). Chances are that’s why your regular session timed out in notebook (or seemed to).

Also: There was an env variable I had to set to get inline renderer to work. I added that it auto sets it that now for GMT.