# 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:** 1

<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 10, 2017, 5:32pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/1 "2017-10-10T17:32:58Z")

</div>

The VS code IDE is truly excellent. Downloaded today, configured in a few minutes, and it runs great. (I run git bash as the terminal.)

 ![image](https://global.discourse-cdn.com/julialang/original/2X/f/f7eef3bf9efee5b07d4980a5796c8844e2f26e66.png)

Many thanks to the VS code development team!

---

<div class="post-metadata">

**Author:** ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Post date:** [October 10, 2017, 5:37pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/2 "2017-10-10T17:37:05Z")

</div>

I am very attached to vim and the command line but I have to admit I am tempted to try this. Back in my C++ days when I first discovered Visual Studio it kind of blew my mind. It’s impossible to set up properly in most practical cases, but when it is, man it is nice (though granted a lot of that came down to the immaculate debugging support of the Microsoft C++ compilers).

Two requirements I have are being able to do everything from the keyboard (preferably with vim commands) and easy access to terminals.

---

<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:** [October 10, 2017, 5:47pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/3 "2017-10-10T17:47:04Z")

</div>

VS Code is very promising, but it’s pretty bad that the integrated terminal can only be located _below_ the editor pane. This is the subject of a longstanding [issue](https://github.com/Microsoft/vscode/issues/2806).

This weakness has nothing to do with the Julia plugin people, but it unfortunately severely hurts the ergonomics of VS Code, and it _cannot_ be configured by the user, just FYI.

---

<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:** [October 10, 2017, 5:48pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/4 "2017-10-10T17:48:56Z")

</div>

Oh, and BTW, has anyone figured out how to get syntax highlighting in the terminal? It doesn’t seem to work with OhMyREPL.

---

<div class="post-metadata">

**Author:** ![TravisA9](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/travisa9/32/357_2.png) [@TravisA9](https://discourse.julialang.org/u/TravisA9)\
**Post date:** [October 10, 2017, 5:50pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/5 "2017-10-10T17:50:02Z")

</div>

Can we get a link or some instructions for that? It’s been a long time since I’ve used VS. Should something be included on the main/downloads julia page about this considering other options such as Ijulia, Juno, etc. are mentioned there?

---

<div class="post-metadata">

**Author:** ![ArchieCall](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/archiecall/32/206_2.png) [@ArchieCall](https://discourse.julialang.org/u/ArchieCall)\
**Post date:** [October 10, 2017, 6:01pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/6 "2017-10-10T18:01:42Z")

</div>

I have used both Atom and VS Code.

VS Code is my go to editor. It is far more responsive in reacting to commands. Atom is probably more feature complete 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 10, 2017, 6:09pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/7 "2017-10-10T18:09:15Z")

</div>

You mean instructions for how to set up VS code?

---

<div class="post-metadata">

**Author:** ![TravisA9](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/travisa9/32/357_2.png) [@TravisA9](https://discourse.julialang.org/u/TravisA9)\
**Post date:** [October 10, 2017, 6:12pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/8 "2017-10-10T18:12:44Z")

</div>

In my case I think the only thing I need to know is how to run julia from the editor. The rest I have done. Thanks.

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [October 10, 2017, 6:25pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/9 "2017-10-10T18:25:35Z")

</div>

> [@ExpandingMan](#):
>
> very attached to vim and the command line

If you like vim, I recommend switching to the i3 tiling window manager, it gives an experience similar to atom and vs code but with more unix flexibility. I described it here in another post:

> [@Is the Eclipse IDE plugin "JuliaDT" still under development?](https://discourse.julialang.org/t/is-the-eclipse-ide-plugin-juliadt-still-under-development/3637/10):
>
> Juno as an editor is very nice, but it is too slow. For me, anytime i switch away from the atom window and go back to it, the CPU runs at 100% for a few seconds before the atom window is usable again. Then it takes forever to load the Julia repl, I always keep multiple julia REPL’s in the terminal, but never in Juno. Typically, I need to restart the REPL often, since I am doing a lot of things that require restarts. Also, I often switch between my editor and web browser, and atom for some reason…

---

<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 10, 2017, 6:35pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/10 "2017-10-10T18:35:21Z")

</div>

In case this proves helpful, here’s what I did to set up:

1. Download VS code. Install and run.

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

1. Set up the Julia extension. Click on extensions:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/4/8/484be3f32f945b95e19d474e056d466cad9c569c.png)

Type in “Julia” in the search box and select to install the Julia Language Support.

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

1. Set up the executable for Julia. Open the Settings:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/9/2/92d68b832a5f8358d025fb0f6639b264b3e81cd0.png)

Where it says “Place your settings here…”, type in the following (adjusted for your particular system,  
your Julia.exe may be in a different place):

 ![image](https://global.discourse-cdn.com/julialang/original/3X/7/9/79a756c91bbaf59a8b79168cdec1785dd44f2a25.png)

---

<div class="post-metadata">

**Author:** ![TravisA9](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/travisa9/32/357_2.png) [@TravisA9](https://discourse.julialang.org/u/TravisA9)\
**Post date:** [October 10, 2017, 6:37pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/11 "2017-10-10T18:37:27Z")

</div>

Great! that last step is just what I was missing, thanks!

---

<div class="post-metadata">

**Author:** ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Post date:** [October 10, 2017, 6:46pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/12 "2017-10-10T18:46:26Z")

</div>

> [@chakravala](#):
>
> If you like vim, I recommend switching to the i3 tiling window manager

I know, I’ve been contemplating this idea for years, but I have gotten comfortable just using gnome-terminal and tmux and I just haven’t been able to bring myself to make the leap. Besides, I actually adore GNOME, in my opinion it is so much better than either the Windows or Mac UI’s which surprisingly still feel like they are from 1997. I have my beautiful cpu/mem/net/disk/thermal performance monitors right up top, it all makes me very happy really. (I remain heartbroken that I still have windows on my most powerful gaming machine.)

What do you think, are there any really significant advantages to using i3 over tmux in gnome? (keep in mind it is also trivial to switch between multiple terminal windows when using multiple monitors)

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [October 10, 2017, 6:54pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/13 "2017-10-10T18:54:11Z")

</div>

> [@ExpandingMan](#):
>
> What do you think, are there any really significant advantages to using i3 over tmux in gnome?

I don’t have any experience with tmux yet, but I am extremely happy with i3. Initially, I just wanted to mess around and try it, but since installing it I have never switched back to xfce (which was my preferred desktop environment before i3). The nice thing is that all of my applications and terminals can be tiled in a unified way and can swtich between them and workspaces with vim-like keyboard shortcuts (fully customizable in documentation). Also, using i3 doesn’t stop you from using Gtk or Qt applications or anything like that, they still open fine, and you can also configure individual applications to open in detached windows instead of as tiles when you open them by default. Note that my i3 bar also has my cpu/mem/net/disk/thermal performance on the top right, but I have used a custom config file to display those according to my taste.

The most wonderful thing for me with tiling window manager is being able to press `mod+enter` anywhere and immediately having a new terminal window and all my other windows are automatically resized and I can adjust and shuffle them around using the keyboard, so it also helps with using vim as a LaTeX editor and displaying the PDF output in another tile, while having a couple of Julia terminals open.

Also, it’s surprisingly easy to set up, if you just spend a weekend getting used to it.

Recommend this 3-part video series to get started: [https://www.youtube.com/watch?v=j1I63wGcvU4](https://www.youtube.com/watch?v=j1I63wGcvU4)

---

<div class="post-metadata">

**Author:** ![ExpandingMan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/expandingman/32/866_2.png) [@ExpandingMan](https://discourse.julialang.org/u/ExpandingMan)\
**Post date:** [October 10, 2017, 7:09pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/14 "2017-10-10T19:09:37Z")

</div>

Sorry to derail this thread, but another couple of questions about i3. Does it use Wayland? I assume that browsers and anything else works basically the same way it does on other X11 and Wayland desktop environments?

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [October 10, 2017, 7:13pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/15 "2017-10-10T19:13:01Z")

</div>

> [@ExpandingMan](#):
>
> Does it use Wayland?

The original i3 is for X11 only, but there is a Wayland compatible version called [sway](https://github.com/swaywm/sway), which allows you to use your same configuration file from i3. So if you use i3 and decide you want to switch to Wayland instead, there should be a future proof option available (mostly feature-complete as of now)

Haven’t tried it yet, but am planning to.

And yes, browsers work same, but they behave as tiled windows (which you can detach too)

---

<div class="post-metadata">

**Author:** ![innerlee](https://avatars.discourse-cdn.com/v4/letter/i/b19c9b/32.png) [@innerlee](https://discourse.julialang.org/u/innerlee)\
**Post date:** [October 10, 2017, 8:59pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/16 "2017-10-10T20:59:35Z")

</div>

It is on the [Oct iteration plan](https://github.com/Microsoft/vscode/issues/35875).

---

<div class="post-metadata">

**Author:** ![innerlee](https://avatars.discourse-cdn.com/v4/letter/i/b19c9b/32.png) [@innerlee](https://discourse.julialang.org/u/innerlee)\
**Post date:** [October 10, 2017, 9:02pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/17 "2017-10-10T21:02:27Z")

</div>

OhMyREPL coloring works on vscode terminal on my machine on Ubuntu.

---

<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:** [October 10, 2017, 9:12pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/18 "2017-10-10T21:12:00Z")

</div>

> [@innerlee](#):
>
> It is on the Oct iteration plan.

They seem to have one issue that is a prerequisite for this on the October plan ([#31503](https://github.com/Microsoft/vscode/issues/31503)). I can’t really tell if they the actual feature in there yet.

> [@innerlee](#):
>
> OhMyREPL coloring works on vscode terminal on my machine on Ubuntu.

On my PC (a Mac) if I open a terminal and start Julia, OhMyREPL works. _However_, if I run selected code from the editor with ctrl+enter, a _new_ terminal with a _new_ instance of Julia is opened, and the code is run. This terminal ignores OhMyREPL. Weird.

---

<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 10, 2017, 9:12pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/19 "2017-10-10T21:12:12Z")

</div>

I think it broke on the new vscode-julia release because the repl is handled a bit differently now. If you start a new julia repl from the terminal, it works, but not with the version you get by executing code with e.g. Ctrl + Enter.

---

<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 10, 2017, 9:20pm UTC](https://discourse.julialang.org/t/vs-code-is-excellent/6381/20 "2017-10-10T21:20:48Z")

</div>

Ok, the problem is that [https://github.com/KristofferC/OhMyREPL.jl/blob/6e7c9a769ec08fbe3ae749a338a5283c78cb308b/src/OhMyREPL.jl#L89](https://github.com/KristofferC/OhMyREPL.jl/blob/6e7c9a769ec08fbe3ae749a338a5283c78cb308b/src/OhMyREPL.jl#L89) is true now so nothing gets initialized. I will fix it.

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