New: Julia for JetBrains IDEs (Flexible Julia)

Just updated again and many of the issues I was seeing with undefined variables / code analysis were fixed or at least reduced to warnings.

One issue I see still is that when a package exports a value that sometimes doesn’t seem to be picked up as a defined symbol when using the package, for example in LibCURL.jl:

Many of those exported values show up as not defined here: gRPCClient.jl/src/Curl.jl at main · JuliaIO/gRPCClient.jl · GitHub

I’m not using a language server, just testing the builtin code analysis.

1 Like


@ufechner7: I added this as a right click option. would that work for you? It will basically run

include(“push_relabel.jl”)
or
include(“C:/java/workspace/julia-test/push_relabel.jl”)

I have a feeling that putting it at the repl window is otherwise more confusing because then you have to decide on “which” file was meant (is it the active one? what if I am looking at another but want to run a specific file).

Well, the VSCode Julia extension provides such a button:

The little triangle at the top right.

I don’t find it confusing.

You can even select one of three options:

Whether these options make sense is a different question.

2 Likes

ok… i’m not convinced that is the best option, but I guess we can copy it for now :slight_smile:

1 Like

@ufechner7 added for 2026.6.1:

3 Likes

Thank you so much, I appreciate it!

1 Like

Out of curiosity, is Jetbrains planned to release an IDE like PyCharm for Julia ?

1 Like

I have no idea and no affiliation to JetBrains (though I am in touch with them). But I’m guessing probably not. Though Julia is growing, I am not sure it has the user base yet. But who knows?!

However, the Flexible Julia plugin is meant to fill the gap and since it works inside any of the JetBrains IDEs, you can also just use it inside PyCharm, so you have the best of both worlds without switching IDEs for your project.

With a bit of luck (and if you leave a positive review for us - please :slight_smile: ), we could potentially make it onto the “staff pick” list of the marketplace, which would mean a larger user base sees us, potentially making this a real goto option for Julia developers (and those who take an interest in the language)

8 Likes

New Release: Flexible Julia 2026.6.1

New Features:

  • Working Directory Option: Choose between project root (default, like VS Code) or file directory when running files
  • External Folders: Add external library folders via Settings → Language → Julia - stored in project configuration
  • External Library Validation: Symbol validation now respects external libraries
  • Auto SDK Selection: SDK now auto-selected from Manifest.toml julia_version on project open (#44)

Fixes:

  • Additional incorrect symbol validation issues resolved

A few quality-of-life improvements in this one. The working directory as requested @ufechner7 - you can now choose whether “Run File” uses the project root (VS Code behavior) or the file’s directory.

The external folders feature is also handy if you’re working with libraries outside your project structure - add them in settings and they’ll be properly recognized for symbol validation and navigation. Thanks @Petr. Apart from that various minor fixes.


@ufechner7: Thanks for suggesting the working directory option!
@PetrKryslUCSD: External folder feature is in - appreciate the idea!
@csvance: Thanks for flagging the external library validation issue!
@xgdgsc: Thank you for reporting and testing the SDK auto-selection from Manifest.toml!

4 Likes

I tried it out, and now there is a run button at the upper right of the REPL window that allows me to run the file, open in the editor, which is great!

What is a bit confusing: At the top of the editor window there is another run button that doesn’t work:

Any idea?

That looks like the standard Jetbrains runtime config to me:

For those to work, you must click on Current File then edit a runtime environment then continue. I have to check if I can also get the file itself to be recognized as runnable.

2 Likes

New Release: Flexible Julia 2026.6.2

New Features:

  • Dynamic Package Recognition: Inspections now query Julia for installed packages - no more false warnings on valid imports (#34)
  • Improved Hover Documentation: Better @doc string lookup and presentation
  • Lazy Runtime Configurations: Run current file and symbol directly from the top of the page

Fixes:

  • False positive “loop variable shadows outer variable” on for-loop variables (#34)
  • False positive “undefined variable” for global x followed by assignment (#34)
  • False positive “unused variable” for keyword arguments like deadline = 90000000 in function calls (#34)
  • Multi-assignment destructuring (a, b, c = split(line, ",")) no longer flags variables as undefined (#34)
  • Struct field access after dict lookup (aitem.prop1) no longer flags field names (#34)
  • Wrong documentation shown for imported symbols - now uses module-qualified lookup (#46, #47)
  • Base submodules (Threads, Sys, Iterators) and common packages now recognized (#34)
  • Included file imports: using CSV in Module.jl now visible in include("sub.jl") (#34)
  • Send to REPL from end line or multi-line statements now sends entire block (#22)
  • Error highlighting on correct Base.zero method definition with custom types (#49)
  • Package installation notification persisting after packages were already installed (#39)


Massive inspection cleanup. This release tackles a long list of false positives that have been bugging people - from loop variable shadowing to multi-assignment destructuring to keyword arguments.

We also improved on the way @doc is looked up and presented on hover.

Lastly: you can now also run the files directly from within the file or via “current file”

There are still some issues remaining with regards to highlighting / error detection & warnings, but we are inching closer (thanks again @xgdgsc for holding my hand on this…)


@xgdgsc: Huge thanks for the detailed false positive reports, we are slowing tackling them all.
@ufechner7: Thanks for reporting the documentation lookup issues!
@smartiegangs: Appreciate catching another grammar edge case!

You are all amazing sparing partners here (this includes you @PetrKryslUCSD, so thank you!

5 Likes

Quick update, cause I thought this was cool:

I am adding a Julia Jupyter implementation, so that you can create proper jupyter notebooks with mixed markdown and jupyter cells, running in its own kernel & session.

10 Likes

New Release: Flexible Julia 2026.7.0

New Features:

  • Jupyter Support: Custom Jupyter wrapper for running Julia code in notebook files - mix markdown with inline code blocks
  • Run Button Redesign: Split into one-click execute + mode selector dropdown for faster workflow (#50)

Fixes:

  • SDK version warning showing when compatible version already installed (#44)
  • Type annotations not colored in function parameters (#34)
  • Symbol indexing (:sym) in brackets not colored (#34)
  • REPL stack trace paths not clickable when Julia runs with --color=yes (ANSI escape codes were breaking regex matching)
  • Julia View button in REPL toolbar only opening but not toggling/closing (#51)
  • Alt+Shift+Enter now sends the next block when cursor is between cells (#22)

Jupyter! We got Jupyter support! You can now run Julia in our custom notebook files. Select from File → new Jupyter notebook and get to work. We wrote a custom interpreter that opens a new session and runs code independently. Mix markdown with code blocks, execute inline - the usual notebook workflow but inside JetBrains.

The run button also got a small but useful redesign. You now have a one-click execute button plus a dropdown for switching modes. Small thing, but it’s one less click.

The new release to be making its way to JetBrains as we speak - you can expect it to roll out in a day or two (or checkout the link i posted below if you don’t feel like waiting).



@xgdgsc: Thanks for reporting the SDK version warning!
@ufechner7: Thanks for catching the Julia View toggle issue!
@smartiegangs: Appreciate the grammar edge case report!
@Marius: Thanks for tracking down the ANSI escape code issue - that was a tricky one!

8 Likes

Jupyter support is huge!!!

3 Likes

And a lot of fun!

Anyone can try out the release version by manually installing

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

File - Settings - Plugins - Install from Disk.

It should otherwise become available either tonight or Monday.

2026.7.0 is now available on the marketplace :slight_smile: