# What IDE do you use?

**URL:** https://discourse.julialang.org/t/what-ide-do-you-use/47006
**Category:** General Usage
**Created:** [September 21, 2020, 1:13pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006 "2020-09-21T13:13:54Z")
**Posts on this page:** 16
**Page:** 3

<div class="post-metadata">

### Author: ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)
#### Post date: [September 23, 2020, 4:45pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/41 "2020-09-23T16:45:06Z")

</div>

Example:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/6/c/6c7b00fcf9e474b3964f5600ee7afd1666ccf4e3.png)

 ![image](https://global.discourse-cdn.com/julialang/original/3X/5/a/5aeae24093462274fdfafe535aa5d298cba81789.png)

Obviously, I did not run both editors at the same time.

---

<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: [September 23, 2020, 5:04pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/42 "2020-09-23T17:04:30Z")

</div>

Is there a noticeable difference when ctrl+enter’ing Julia code, or is it mainly about opening files and advanced editing snappiness?

---

<div class="post-metadata">

### Author: ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)
#### Post date: [September 23, 2020, 5:34pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/43 "2020-09-23T17:34:07Z")

</div>

While I do notice lags from time to time in VS code, it is hard to identify their source.  
And, it isn’t easy to measure.

My main concern is the use of resources: the more resources consumed by the editor, the less is left for actual computing.

---

<div class="post-metadata">

### Author: ![ppalmes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ppalmes/32/6838_2.png) [@ppalmes](https://discourse.julialang.org/u/ppalmes)
#### Post date: [September 23, 2020, 6:05pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/44 "2020-09-23T18:05:59Z")

</div>

vim with slime plugin and tmux with tmux-resurrect plugin is my ide. tmux can resurrect all vim states and location of files and directories that you are working on even after reboot. it also resurrects your panes and windows and sessions. slime allows vim to cut and paste block of codes or line of code whatever in the vim cursor to julia running in different pane or window. and slime can redirect to any window or pane running any interpreter or jit so it is a good system for R, Python, and Julia.

---

<div class="post-metadata">

### Author: ![jonathanBieler](https://avatars.discourse-cdn.com/v4/letter/j/82dd89/32.png) [@jonathanBieler](https://discourse.julialang.org/u/jonathanBieler)
#### Post date: [September 23, 2020, 6:08pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/45 "2020-09-23T18:08:31Z")

</div>

The Electron ecosystem is annoying for sure, I don’t care much on a good desktop computer but on laptop it’s not great ; on a recent MacBook Pro just having VS Code + a browser opened is enough to make the fans spin.

---

<div class="post-metadata">

### Author: ![purplishrock](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/purplishrock/32/13451_2.png) [@purplishrock](https://discourse.julialang.org/u/purplishrock)
#### Post date: [September 23, 2020, 6:14pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/46 "2020-09-23T18:14:10Z")

</div>

i really like emac’s Julia mode.

my guess is i’m working somewhat inefficiently having to go to the doc page to look things up that might be present in some sort of IDE.

The _only_ thing I conciously miss is not being able to jump to a function definition in some module that i’ve created. my guess is that proper set-up with etags could get me there but i haven’t tried to do it yet.

the biggest productivity improvement i’ve experienced lately was Revise. I was very late to the party on that. lol. What was more interesting is that it changed the way I write the code for the better. i tended to modularize stuff after writing it in a script-like fashion. Now i think a little harder about what a module should look like and start with a module to begin.

p.s. i’ve written a lot of embedded code and a debugger is essential. Desktop code though I’m fairly happy to write without one, and never felt like I just had to have it. That’s because in embedded code the interrupts, memory management, and other various hard to debug things are really hard to debug without watchpoints and break on condition. I suspect if I wrote “real time” code in Julia i would have much the same problem, but I don’t 🙂

---

<div class="post-metadata">

### Author: ![non-Jedi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/non-jedi/32/3645_2.png) [@non-Jedi](https://discourse.julialang.org/u/non-Jedi)
#### Post date: [September 23, 2020, 6:26pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/47 "2020-09-23T18:26:42Z")

</div>

> [@purplishrock](#):
>
> The _only_ thing I conciously miss is not being able to jump to a function definition in some module that i’ve created. my guess is that proper set-up with etags could get me there but i haven’t tried to do it yet.

For what it’s worth, this is the functionality [eglot](https://github.com/non-Jedi/eglot-jl) provides which I find most indispensable. I hardly use it when working on small projects, but it’s super nice to have proper working `xref-find-definitions` just an M-x `eglot` away.

---

<div class="post-metadata">

### Author: ![jonniedie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jonniedie/32/12842_2.png) [@jonniedie](https://discourse.julialang.org/u/jonniedie)
#### Post date: [September 23, 2020, 6:54pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/48 "2020-09-23T18:54:52Z")

</div>

I really like VSCode, but I’ve switched back to Atom/Juno because I wanted to be working in the same IDE that I’m recommending to my coworkers (so I can help them debug things) but I can’t recommend VSCode because of [the telemetry issue](https://github.com/julia-vscode/julia-vscode/issues/514). It’s kinda frustrating because now we’re all going to be working in an unsupported IDE, but it is what it is, I guess.

---

<div class="post-metadata">

### Author: ![tshort](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tshort/32/43_2.png) [@tshort](https://discourse.julialang.org/u/tshort)
#### Post date: [September 23, 2020, 6:57pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/49 "2020-09-23T18:57:33Z")

</div>

You could try [VSCodium](https://github.com/VSCodium/vscodium) to avoid telemetry.

---

<div class="post-metadata">

### Author: ![jonniedie](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jonniedie/32/12842_2.png) [@jonniedie](https://discourse.julialang.org/u/jonniedie)
#### Post date: [September 23, 2020, 7:03pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/50 "2020-09-23T19:03:23Z")

</div>

Thanks for the recommendation. Does that stop the julia language extension from requesting telemetry, though? That’s where the issue is because he julia extension is producing the telemetry pop-up.

---

<div class="post-metadata">

### Author: ![Zach\_Christensen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zach_christensen/32/7220_2.png) [@Zach\_Christensen](https://discourse.julialang.org/u/Zach_Christensen)
#### Post date: [September 23, 2020, 7:39pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/51 "2020-09-23T19:39:49Z")

</div>

And herein lies my problem with VSCode. It’s not as snappy as alternatives so I’m not going to use it for quick edits. On the other hand, when I do a long and intense analysis with visualizations it consumes so many resources that it gets bogged down. Greatly reduces the times when VSCode is the convenient option.

---

<div class="post-metadata">

### Author: ![klaff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/klaff/32/7637_2.png) [@klaff](https://discourse.julialang.org/u/klaff)
#### Post date: [September 23, 2020, 8:26pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/52 "2020-09-23T20:26:16Z")

</div>

I have bumped into the conflict between reactivity and mutability. In one case, I was progressively adding columns to a DataFrame, with explanations about why interspersed, so a cell of markdown and a cell mutating the dataframe, and that messes up the reactivity. I think the answer is to make a new DF or do all the mutating in one cell.

---

<div class="post-metadata">

### Author: ![stephenll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stephenll/32/28751_2.png) [@stephenll](https://discourse.julialang.org/u/stephenll)
#### Post date: [September 23, 2020, 9:15pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/53 "2020-09-23T21:15:06Z")

</div>

What are all those processes under Sublime doing? Is that the language server for Julia? If so, do you know of a guide or website that explains how to set that up. Thx

---

<div class="post-metadata">

### Author: ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)
#### Post date: [September 23, 2020, 9:16pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/54 "2020-09-23T21:16:30Z")

</div>

No, I don’t use LS. I use the autocompletion built-in into Sublime Text.  
In version 4 it is quite general, fast, and robust.

---

<div class="post-metadata">

### Author: ![Palli](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/palli/32/3380_2.png) [@Palli](https://discourse.julialang.org/u/Palli)
#### Post date: [October 1, 2020, 8:48am UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/55 "2020-10-01T08:48:19Z")

</div>

> [@DNF](#):
>
> Google Chrome started out relatively snappy, and gradually grew, over the years, to the bloated hog it is now. I hope VS Code can avoid that fate.

Probably will not. It’s a sign of the times, more memory used. Before Emacs was blamed as resource hungry, for similar reasons:

Chrome (or some other slightly better web browser, like Firefox), is not fully to blame Websites are now more resource-hungry, as JavaScript is used and it’s a Turing complete language (ok, Google’s V8 JS engine made it really practical to use JS to a large extent), so you CAN’T limit memory without killing tabs, or, in case of IDEs, extensions. Windows 98 had “16 MB of system RAM” requirement and famously came with Internet Explorer 4, so web browsers necessarily do not need much memory… (w/o JS). Older Windows was limited to 2 MB and had IE available.

We’re never going back to small, e.g. as modern browsers with fast JavaScript need MORE memory to be faster as they compile (just like Julia, we shouldn’t be throwing stones in a glass house).

Since the IDEs are really web browsers, with all those capabilities, I foresee videos in some ads for extensions (or built in tutorials)…

I see Theia works, but some issues, and link from there to an issue:

> [@Compatibility between Theia and the Julia VS Code extension](https://discourse.julialang.org/t/compatibility-between-theia-and-the-julia-vs-code-extension/46047):
>
> I discovered [Theia](https://theia-ide.org/) as a possible alternative to VS code in [this thread](https://discourse.julialang.org/t/github-annouced-codespace-does-it-mean-atom-is-now-abandoned/38923/24), and decided to give it a try. It looks like a lot of features from the Julia VScode extension work out of the box, which is in itself an incredible achievement. However, I keep getting crashes from the LanguageServer, with an output like the following: [ Info: Starting the Julia Language Server [ Info: Symbol server store is at '/home/theia/.theia/globalStorage/julialang.language-julia/symbolstorev2'. [ Info: Received new…

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [October 1, 2020, 12:35pm UTC](https://discourse.julialang.org/t/what-ide-do-you-use/47006/56 "2020-10-01T12:35:30Z")

</div>

> [@Palli](#):
>
> Websites are now more resource-hungry, as JavaScript is used […], so you CAN’T limit memory without killing tabs

A lot of the related CPU and RAM usage goes to websites spying on you or displaying ads. You can mitigate that to a surprisingly large extent with plugins like UBlock Origin and NoScipt (and many other similar ones). Also, browsers are getting smarter about these things by default.

[Previous page](https://discourse.julialang.org/t/what-ide-do-you-use/47006.md?page=2)
