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:
@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).
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 ), 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)
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!
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:
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.
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!
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.
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!