IDE: alternatives to VS Code?

Hi,

what IDEs are there currently that feature good support for Julia?

I understand that Juno used to be a thing, but that it was given up on in favor of VS Code and the VS Code Julia plugin. Everyone now seems to be recommending VS Code; however, after trying that I found it too barebones and minimalistic for my liking. I’d prefer something that’s more akin to Spyder or RStudio - except for Julia.

Are there ANY (GUI) alternatives at all these days, or is it “this is what you’ll have to use”?

Emacs, vi(m) etc. are not an option. If they work for you, great, more power to you. For me, they don’t.

I’ve tried Jupyterlab with a Julia kernel and Pluto, and both are fine, but notebooks aren’t always appropriate for every project.

I found an older topic from ~3.5 years ago, but as far as I can tell the only real suggestion there is “use VS Code”.

Thanks, everyone. :heart:

5 Likes

I don’t want to be the “this is what you’ll have to use” guy, but I think VSCode is currently the easiest for newcomers.

I have always been allergic to anything that ressembles a terminal, and was able to effectively use Julia in a few days (though I had help from an experienced Julia enthusiast probably reading this). Start by reading the modern Julia workflows guide and try to understand how to manage packages and environments, that’s pretty much the hardest part. There is less than a dozen commands or keyboard shortcuts you need to learn. This is probably faster than trying to set up another IDE for which you will find much less documentation and tutorials.

Good luck :wink:

9 Likes

Thanks Antoine! I’ll read that guide and see if I can learn to peacefully coexist with VS Code if there’s no alternative. :wink:

2 Likes

FWIW JupyterLab can work on regular .jl files too, not just notebooks. Not sure I’d really recommend it, but I’m an emacs guy, so what do I know.

8 Likes

Have a look at JuliaEditorSupport · GitHub

Realistically, those are the only serious alternatives to VSCode.

On the other hand, Julia has an LSP and a tree-sitter grammar, so that at least potentially that opens up possibilities for any modern editors that buy into that ecosystem.

3 Likes

As you mentioned RStudio you may want to look at Positron, the project from Posit.co (formerly Rstudio.com) based on VS Code. It supports R and Python in console mode. Because it is based on VS Code it supports Julia in the same way that VS Code does. Many of the extensions that Posit.co has built into Positron for Quarto, data exploration, etc. can be used with Julia.

10 Likes

Could you elaborate a bit more what kind of features you are missing in particular?

8 Likes

I have been having a lot of fun lately with “zed” editor and is my goto for Julia. They have done a remarkable job of packaging & integrating LLM functionality natively.

Although a bug is preventing inline execution from the code editor. It’s really slick and has a Julia support but is still under active development.

9 Likes

Thanks for your reply, David. It’s not so much about specific features as much as about the minimalist, barebones way VS Code is set up to begin with. I prefer more baroque UIs; it’s a matter of personal taste.

Thank you, that’s a great suggestion. Unfortunately they don’t offer Windows builds, but when that changes I’ll check it out!

Don’t want to derail this topic, but I’d be curious to know more about people’s experience with zed.

2 Likes

I’ve tried Zed a little bit, but my (superficial) impression is that it’s more bare-bones than VS Code at this point.

There is a Julia plugin, but last I tried I couldn’t even get syntax highlighting.

3 Likes

No worries about derailing the topic - people sharing their experiences with IDEs, including editors, is exactly what it’s about.

I find this kinda surprising, as I think of VSCode as extremely baroque, especially with the julia extension, E.g.

I’m not sure where I’d even try to jam more visual noise if I wanted it. Have you tried the Julia extension for VSCode? I’m sure there’s even more extensions floating around if you want even more stuff on screen .

12 Likes

To add my two cents (I use Julia since v0.3): I was never happy with the IDE/editor solution in the Juliaverse, but I am probably also too old-fashioned and fine with having a few windows open with docs :wink:

As a power Vim user for almost three decades I switched to (Doom) Emacs a couple of years ago (evil-mode) because of org-mode and it’s (IMHO) simply a better software for bigger projects (with evil mode, I don’t miss anything from Vim). Neither for Vim, nor for Emacs could I set up something which works smoothly or works at all. All of my setups broke at some point, sometimes even without any apparent changes from my side. So in the end I am always falling back to my local minimum → docs and code side by side :laughing:

I indeed had the best “out-of-the-box + number of features” experience with VSCode but whatever I try, I cannot adapt my workflow to fit what VSCode offers, so I am still dangling around with (Doom) Emacs and Vim. Syntax highlighting always works fine and most of the time I get signature hints and docstrings displayed, sometimes nothing at all. I don’t know why and when :wink:
I totally gave up on IDE features like refactoring, extract, definition look-up, project-wide rename, usable tab-completion etc. for Julia.

I think the problem is also that people are not happy with what’s there for Julia, come up with their own new implementations/plugins and those gets abandoned again because it’s a big undertaking and we all have many other things to do and issue to tackle. We have a couple of solutions outside the VSCode universe but most of them are not maintained or working anymore.

I don’t blame anyone here btw.! People put a lot of effort in these toolings…

14 Likes

I just installed zed for the first time (on fedora, using the installation shell script).
I tried it for five minutes: What worked out of the box:

  • Syntax highlighting
  • Underlines undefined symbols
  • Jump to definition
1 Like

Yep :slight_smile: The one thing we can’t do is toolbars, but beyond that I think we have most features and UI that one would expect in an IDE, I think? Different question how well they work, of course…

1 Like

Except table viewing (and other good viewing of variables in general) in debug mode :slightly_frowning_face:

1 Like

I’ve been using Sublime Text. It doesn’t have all the features of a full IDE but its very lightweight and has worked fine.

That is really just resistance against anything microsoft though. It seems likely they have some kind of bait-and-switch plan for VS code. Or they are data harvesting, or who knows?

3 Likes

Ah, good point. I’m actually not sure there is a way to add that in debug mode, like we already have it for the REPL…