# IDE: alternatives to VS Code?

**URL:** <https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526>\
**Category:** General Usage\
**Tags:** ide\
**Created:** [November 12, 2024, 8:17am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526 "2024-11-12T08:17:27Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![chskcau](https://avatars.discourse-cdn.com/v4/letter/c/6f9a4e/32.png) [@chskcau](https://discourse.julialang.org/u/chskcau)\
**Post date:** [November 12, 2024, 8:17am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/1 "2024-11-12T08:17:27Z")

</div>

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,](https://discourse.julialang.org/t/ide-for-julia/61931) but as far as I can tell the only real suggestion there is “use VS Code”.

Thanks, everyone. ❤

---

<div class="post-metadata">

**Author:** ![AntoineBut](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/antoinebut/32/213352_2.png) [@AntoineBut](https://discourse.julialang.org/u/AntoineBut)\
**Post date:** [November 12, 2024, 9:33am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/2 "2024-11-12T09:33:02Z")

</div>

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](https://modernjuliaworkflows.org) 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 😉

---

<div class="post-metadata">

**Author:** ![chskcau](https://avatars.discourse-cdn.com/v4/letter/c/6f9a4e/32.png) [@chskcau](https://discourse.julialang.org/u/chskcau)\
**Post date:** [November 12, 2024, 2:51pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/3 "2024-11-12T14:51:12Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Mason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mason/32/2423_2.png) [@Mason](https://discourse.julialang.org/u/Mason)\
**Post date:** [November 12, 2024, 2:51pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/4 "2024-11-12T14:51:49Z")

</div>

> [@chskcau](#):
>
> I’ve tried Jupyterlab with a Julia kernel and Pluto, and both are fine, but notebooks aren’t always appropriate for every project.

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.

---

<div class="post-metadata">

**Author:** ![goerz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/goerz/32/3269_2.png) [@goerz](https://discourse.julialang.org/u/goerz)\
**Post date:** [November 12, 2024, 2:59pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/5 "2024-11-12T14:59:47Z")

</div>

Have a look at [JuliaEditorSupport · GitHub](https://github.com/JuliaEditorSupport)

> [@chskcau](#):
>
> Emacs, vi(m) etc. are not an option

Realistically, those are the only serious alternatives to VSCode.

On the other hand, Julia has an [LSP](https://github.com/julia-vscode/LanguageServer.jl) and a [tree-sitter grammar](https://github.com/tree-sitter/tree-sitter-julia), so that at least potentially that opens up possibilities for any modern editors that buy into that ecosystem.

---

<div class="post-metadata">

**Author:** ![dmbates](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dmbates/32/44_2.png) [@dmbates](https://discourse.julialang.org/u/dmbates)\
**Post date:** [November 12, 2024, 7:41pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/6 "2024-11-12T19:41:19Z")

</div>

As you mentioned RStudio you may want to look at [Positron](https://github.com/posit-dev/positron), the project from [Posit.co](http://Posit.co) (formerly [Rstudio.com](http://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](http://Posit.co) has built into Positron for Quarto, data exploration, etc. can be used with Julia.

---

<div class="post-metadata">

**Author:** ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)\
**Post date:** [November 12, 2024, 7:53pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/7 "2024-11-12T19:53:58Z")

</div>

> [@chskcau](#):
>
> 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

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

---

<div class="post-metadata">

**Author:** ![asbisen](https://avatars.discourse-cdn.com/v4/letter/a/a9a28c/32.png) [@asbisen](https://discourse.julialang.org/u/asbisen)\
**Post date:** [November 12, 2024, 10:13pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/8 "2024-11-12T22:13:51Z")

</div>

I have been having a lot of fun lately with “[zed](https://zed.dev/download)” editor and is my goto for Julia. They have done a remarkable job of packaging & integrating LLM functionality natively.

Although a [bug](https://github.com/zed-industries/zed/issues/16024) is preventing inline execution from the code editor. It’s really slick and has a Julia support but is still under active development.

---

<div class="post-metadata">

**Author:** ![chskcau](https://avatars.discourse-cdn.com/v4/letter/c/6f9a4e/32.png) [@chskcau](https://discourse.julialang.org/u/chskcau)\
**Post date:** [November 13, 2024, 7:47am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/9 "2024-11-13T07:47:58Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![chskcau](https://avatars.discourse-cdn.com/v4/letter/c/6f9a4e/32.png) [@chskcau](https://discourse.julialang.org/u/chskcau)\
**Post date:** [November 13, 2024, 7:52am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/10 "2024-11-13T07:52:17Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![e3c6](https://avatars.discourse-cdn.com/v4/letter/e/e79b87/32.png) [@e3c6](https://discourse.julialang.org/u/e3c6)\
**Post date:** [November 13, 2024, 7:58am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/11 "2024-11-13T07:58:59Z")

</div>

> [@asbisen](#):
>
> I have been having a lot of fun lately with “[zed](https://zed.dev/download)” editor and is my goto for Julia.

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

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [November 13, 2024, 10:04am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/12 "2024-11-13T10:04:49Z")

</div>

> [@chskcau](#):
>
> Thank you, that’s a great suggestion. Unfortunately they don’t offer Windows builds, but when that changes I’ll check it out!

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.

---

<div class="post-metadata">

**Author:** ![chskcau](https://avatars.discourse-cdn.com/v4/letter/c/6f9a4e/32.png) [@chskcau](https://discourse.julialang.org/u/chskcau)\
**Post date:** [November 13, 2024, 10:29am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/13 "2024-11-13T10:29:23Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Mason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mason/32/2423_2.png) [@Mason](https://discourse.julialang.org/u/Mason)\
**Post date:** [November 13, 2024, 10:35am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/14 "2024-11-13T10:35:16Z")

</div>

> [@chskcau](#):
>
> 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.

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

 ![image](https://global.discourse-cdn.com/julialang/original/3X/1/e/1e28c854005c9bcffd64fa9b2970dbe04904bf38.jpeg)

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 .

---

<div class="post-metadata">

**Author:** ![tamasgal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamasgal/32/27946_2.png) [@tamasgal](https://discourse.julialang.org/u/tamasgal)\
**Post date:** [November 13, 2024, 11:17am UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/15 "2024-11-13T11:17:55Z")

</div>

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 😉

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 😆

**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 😉  
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…

---

<div class="post-metadata">

**Author:** ![jlapeyre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlapeyre/32/4514_2.png) [@jlapeyre](https://discourse.julialang.org/u/jlapeyre)\
**Post date:** [November 13, 2024, 4:30pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/16 "2024-11-13T16:30:48Z")

</div>

> [@DNF](#):
>
> Julia plugin, but last I tried I couldn’t even get syntax highlighting

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

---

<div class="post-metadata">

**Author:** ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)\
**Post date:** [November 13, 2024, 7:20pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/17 "2024-11-13T19:20:35Z")

</div>

> [@Mason](#):
>
> I find this kinda surprising, as I think of VSCode as extremely baroque, especially with the julia extension

Yep 🙂 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…

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [November 13, 2024, 7:44pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/18 "2024-11-13T19:44:00Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Tetrakai](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@Tetrakai](https://discourse.julialang.org/u/Tetrakai)\
**Post date:** [November 13, 2024, 7:55pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/19 "2024-11-13T19:55:14Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)\
**Post date:** [November 13, 2024, 7:56pm UTC](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526/20 "2024-11-13T19:56:33Z")

</div>

> [@joa-quim](#):
>
> Except table viewing (and other good viewing of variables in general) in debug mode

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…

[Next page](https://discourse.julialang.org/t/ide-alternatives-to-vs-code/122526.md?page=2)
