# VS code is excellent!

**URL:** <https://discourse.julialang.org/t/vs-code-is-excellent/6381>\
**Category:** New to Julia\
**Tags:** vscode\
**Created:** [October 10, 2017, 5:32pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381 "2017-10-10T17:32:58Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)\
**Post date:** [October 12, 2017, 8:53am UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/41 "2017-10-12T08:53:58Z")

</div>

Is there in VS Code an option to have a “workspace”, i.e. having multiple Julia modules open in a browser session. I use this in Atom and have not found it in VS Code

---

<div class="post-metadata">

**Author:** ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)\
**Post date:** [October 12, 2017, 9:00am UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/42 "2017-10-12T09:00:31Z")

</div>

In Atom at least it’s very easy to just edit the index.less file for your syntax theme.

---

<div class="post-metadata">

**Author:** ![louisponet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/louisponet/32/2070_2.png) [@louisponet](https://discourse.julialang.org/u/louisponet)\
**Post date:** [October 12, 2017, 4:08pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/43 "2017-10-12T16:08:17Z")

</div>

There is an extension in vscode ([vscodevim](https://marketplace.visualstudio.com/items?itemName=vscodevim.vim)) that basically enables an almost vim way of working with the editor. I’m not sure if everything vim is 100% in there, but from what I can tell most of it is.

---

<div class="post-metadata">

**Author:** ![Ian\_Marshall](https://avatars.discourse-cdn.com/v4/letter/i/b77776/32.png) [@Ian\_Marshall](https://discourse.julialang.org/u/Ian_Marshall)\
**Post date:** [October 13, 2017, 11:22am UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/44 "2017-10-13T11:22:21Z")

</div>

Thanks for this tip and instructions - I’ve been looking for a good IDE for Julia for a while and have been disappointed with Juno and the SublimeText REPL. I installed vscode this morning and it might actually end up being the IDE I stick with…

---

<div class="post-metadata">

**Author:** ![Tomas\_Pevny](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tomas_pevny/32/25466_2.png) [@Tomas\_Pevny](https://discourse.julialang.org/u/Tomas_Pevny)\
**Post date:** [October 13, 2017, 1:28pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/45 "2017-10-13T13:28:45Z")

</div>

Does anyone know what this error means?

```julia
ERROR: LoadError: LoadError: Package metadata directory /Users/tpevny/.vscode/extensions/julialang.language-julia-0.8.0-beta.4/scripts/languageserver/julia_pkgdir/v0.6/METADATA doesn't exist; run Pkg.init() to initialize it.

```

Thanks for help.

---

<div class="post-metadata">

**Author:** ![helgee](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/helgee/32/2022_2.png) [@helgee](https://discourse.julialang.org/u/helgee)\
**Post date:** [October 13, 2017, 2:16pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/46 "2017-10-13T14:16:40Z")

</div>

That feature is currently being developed: [Multi-root workspace](https://github.com/Microsoft/vscode/issues/28344)

---

<div class="post-metadata">

**Author:** ![Tomas\_Pevny](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tomas_pevny/32/25466_2.png) [@Tomas\_Pevny](https://discourse.julialang.org/u/Tomas_Pevny)\
**Post date:** [October 14, 2017, 6:53am UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/47 "2017-10-14T06:53:23Z")

</div>

But is there a way, how I can get rid of this? It keeps switching focus from console to output, which renders VS code useless.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [October 14, 2017, 8:24am UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/48 "2017-10-14T08:24:48Z")

</div>

I think you should open an issue about it.

---

<div class="post-metadata">

**Author:** ![louisponet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/louisponet/32/2070_2.png) [@louisponet](https://discourse.julialang.org/u/louisponet)\
**Post date:** [October 14, 2017, 8:55am UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/49 "2017-10-14T08:55:25Z")

</div>

How do you arrive at this? I’ve been running the beta4 together with julia 0.6 without issues.

---

<div class="post-metadata">

**Author:** ![Tomas\_Pevny](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tomas_pevny/32/25466_2.png) [@Tomas\_Pevny](https://discourse.julialang.org/u/Tomas_Pevny)\
**Post date:** [October 14, 2017, 12:51pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/50 "2017-10-14T12:51:16Z")

</div>

I have no idea, how this has happened. It has just happened and restart did not help.

I will open an issue.

---

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [October 15, 2017, 10:04am UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/51 "2017-10-15T10:04:17Z")

</div>

Hello.  
Do we also need to install IJulia packages and all its dependencies and configure them?  
Do you think is better that Jupyter, Atom or Zeppelin (for Julia).

---

<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:** [October 15, 2017, 6:00pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/52 "2017-10-15T18:00:37Z")

</div>

I’m sorry, I’m not familiar with Zeppelin.

---

<div class="post-metadata">

**Author:** ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)\
**Post date:** [October 16, 2017, 9:02am UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/53 "2017-10-16T09:02:02Z")

</div>

I love how many typos/syntax errors VS code catches – so many potential bugs caught instantly!

---

<div class="post-metadata">

**Author:** ![louisponet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/louisponet/32/2070_2.png) [@louisponet](https://discourse.julialang.org/u/louisponet)\
**Post date:** [October 16, 2017, 11:55am UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/54 "2017-10-16T11:55:54Z")

</div>

My two cents are this:  
I’ve never liked the idea of only using notebooks, because I like to gather the functions I write into files I can later call from other programs, and I don’t like the idea of browser editing, so no jupyter for me.

Atom/Juno is very very nice with regards to interactively working with julia (you basically get a notebook-like interaction on top of having a good general editor). Also the possibility to introspect variable values after calculating them just by clicking some arrows on the workspace is very nice for a beginner.

However, I can’t stand that my characters don’t instantly show up when I type or select them (even on my desktop with 7700k etc), made me consider VSCode in the first place. This got compounded with the fact that for some reason calculations I ran inside atom took around 20% longer (which becomes quite annoying if you perform them every day). This is probably because Atom gathers more information during the running (automatic highlighting of points of error etc), which again is very useful for beginners. The VSCode extension just provides a terminal window with a repl inside to which it sends code.  
Also with the recent updates the julia extension in vscode got really a lot better. The only missing thing to me is automatic evaluation of blocks like Atom does it.

So those are the reasons why I prefer VSCode over Atom and Jupyter. With regards to the dependencies, as far as I remember I don’t think you need to install anything aside from the extension, and point it to the julia executable you want to use (as documented).

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [October 16, 2017, 12:41pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/55 "2017-10-16T12:41:03Z")

</div>

> [@louisponet](#):
>
> However, I can’t stand that my characters don’t instantly show up when I type or select them (even on my desktop with 7700k etc), made me consider VSCode in the first place.

Are you using any linter plugins? Those really really tank performance (and I generally dislike them)…  
In general I don’t think VSCode is _that_ far ahead in performance, especially after the latest perf improvements for Atom, but YMMV.

---

<div class="post-metadata">

**Author:** ![louisponet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/louisponet/32/2070_2.png) [@louisponet](https://discourse.julialang.org/u/louisponet)\
**Post date:** [October 16, 2017, 12:56pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/56 "2017-10-16T12:56:24Z")

</div>

No I didn’t enable any linting features. I didn’t know there was a new version with improved performance for Atom, I think I’ll check it out once more and see how I feel 😀.  
Thanks for letting me know!

---

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [October 16, 2017, 3:07pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/57 "2017-10-16T15:07:46Z")

</div>

One technical question?:  
Does VS Code use the same client-server philosophy than other GUIs?  
I mea, does it communicate with a Julia session with ports?  
Or Julia is embedded in a different way?

I have always had problems with the first method, with Julia, R, it’s slower and it interacts with the antivirus and firewall even if you define exclusion rules.

---

<div class="post-metadata">

**Author:** ![louisponet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/louisponet/32/2070_2.png) [@louisponet](https://discourse.julialang.org/u/louisponet)\
**Post date:** [October 16, 2017, 4:32pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/58 "2017-10-16T16:32:31Z")

</div>

from what I can tell it just pushes text to a terminal. but you can always try it out right? 😛

---

<div class="post-metadata">

**Author:** ![ZacLN](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zacln/32/2748_2.png) [@ZacLN](https://discourse.julialang.org/u/ZacLN)\
**Post date:** [October 16, 2017, 5:10pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/59 "2017-10-16T17:10:47Z")

</div>

It uses named pipes for server communication

---

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [October 16, 2017, 6:49pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/60 "2017-10-16T18:49:57Z")

</div>

And what is the difference between that named pipes and the method used by other tools such as Jupyter or Rstudio?

[Previous page](https://discourse.julialang.org/t/vs-code-is-excellent/6381.md?page=2)

[Next page](https://discourse.julialang.org/t/vs-code-is-excellent/6381.md?page=4)
