# \[ANN\] VS Code extension 1.3 released

**URL:** <https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453>\
**Category:** VS Code\
**Created:** [July 28, 2021, 4:49pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453 "2021-07-28T16:49:50Z")\
**Posts on this page:** 19\
**Page:** 2

<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:** [July 29, 2021, 4:16pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/21 "2021-07-29T16:16:54Z")

</div>

That is very strange, I actually don’t see how “our” kernel could not show up if the REPL works and the notebook setting is turned on…

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [July 29, 2021, 4:20pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/22 "2021-07-29T16:20:18Z")

</div>

Here are my installed extensions and a simple line evaluated in a regular jl file in the same VSCode instance:

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

Both ipynb and jl files work fine by themselves, but the ipynb stuff seems to just be a combination of Jupyter extension + IJulia that is completely unaware of any Julia VSCode extension functionality related to notebooks…

---

<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:** [July 29, 2021, 4:23pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/23 "2021-07-29T16:23:06Z")

</div>

Can you double-check that `julia.notebookController` is `true` in all relevant places (it’s possible you accidentally set it for a remote machine or something like that).

---

<div class="post-metadata">

**Author:** ![CameronBieganek](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cameronbieganek/32/6915_2.png) [@CameronBieganek](https://discourse.julialang.org/u/CameronBieganek)\
**Post date:** [July 29, 2021, 4:38pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/24 "2021-07-29T16:38:38Z")

</div>

> [@davidanthoff](#):
>
> Our current plan (a bit in flux, though) is to run our normal static analysis on deved packages.

These days I don’t actually use `dev` much when I’m developing local packages. After I realized that I can put scripts in an `examples` or `scripts` folder adjacent to the `src` directory and run code in them without having to `dev` my package, I stopped using `dev`.

So in other words, it would be nice if indexing/static analysis still worked for local packages even if they haven’t been `dev`-ed.

---

<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:** [July 29, 2021, 4:45pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/25 "2021-07-29T16:45:34Z")

</div>

> [@CameronBieganek](#):
>
> So in other words, it would be nice if indexing/static analysis still worked for local packages even if they haven’t been `dev` -ed.

Yes, we will use our static analysis on the currently open package in the workspace always, so this question on whether to locally index is really just relevant for code that sits outside the folder you have open in VS Code.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [July 29, 2021, 5:22pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/26 "2021-07-29T17:22:03Z")

</div>

I don’t use remote machines - I set it in the settings GUI, and checked the `settings.json` to confirm. I’m not at that computer anymore though unfortunately, but fwiw I just tried it on a Manjaro machine at home and it still doesn’t seem to work:

`settings.json`

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

Kernel list is completely empty (I don’t have `IJulia` on this machine):

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

Installed extensions and succesful inline evaluation of some code:

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

On this machine, the path to Julia is empty and

```julia
[nils@nils-2560p ~]$ which julia
/usr/bin/julia
[nils@nils-2560p ~]$ readlink -f /usr/bin/julia
/home/nils/bin/Julia/julia-1.6.1/bin/julia

```

I feel like I’m missing some step somewhere, but from David’s JuliaCon talk it seemed that there aren’t any other than having the two extensions installed!?

---

<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:** [July 29, 2021, 8:21pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/27 "2021-07-29T20:21:00Z")

</div>

Hm, you are getting the “old” Jupyter notebook interface that was implemented in the Jupyter extension, not the new native notebook UI that ships as part of VS Code. I thought MS had rolled out the new UI for everyone, so I’m slightly confused what is going on there…

You could try [these](https://github.com/microsoft/vscode-jupyter/wiki/Native-Notebook-Support-in-VS-Code#enabling-the-new-experience) settings. Those were necessary before MS rolled this out to everyone, so shouldn’t be anymore, but who knows?

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [July 30, 2021, 9:37am UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/28 "2021-07-30T09:37:02Z")

</div>

Sorry I can’t seem to find a specific setting to try on the page you linked, could you clarify?

I’ve re-installed VSCode but that didn’t help unfortunately.

---

<div class="post-metadata">

**Author:** ![Crown421](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/crown421/32/9984_2.png) [@Crown421](https://discourse.julialang.org/u/Crown421)\
**Post date:** [July 30, 2021, 9:58am UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/29 "2021-07-30T09:58:55Z")

</div>

I only got the latest features (and the same look as in the JuliaCon video) when I installed VS Code Insiders (which is also the first step in the [documentation](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter) of the Jupyter extension )

Now I have the new look, and after re-enabling the Notebook Controller setting, I get the VSCode extension kernel, which also gives me the notebook variable workspace.

The next step is to get multiple threads working. It appears that the vscode kernel does not yet respect the “julia.NumThreads” setting.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [July 30, 2021, 10:25am UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/30 "2021-07-30T10:25:16Z")

</div>

That sorted it - on Insiders I am getting the new look, and the Julia VS Code kernels show up! This also means that DataFrames now show correctly (they were shown as plain text LaTeX by the kernels I had installed through IJulia), although plots look a bit funny now (they stretch across the whole notebook irrespective of their actual width).

---

<div class="post-metadata">

**Author:** ![Crown421](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/crown421/32/9984_2.png) [@Crown421](https://discourse.julialang.org/u/Crown421)\
**Post date:** [July 30, 2021, 9:37pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/31 "2021-07-30T21:37:46Z")

</div>

I am finding that calling `sin([1.])` (wrong syntax), `?sin` or `]st` in a cell in the new native notebook all return the error

```julia
Stacktrace:
  [1] top-level scope
    @ ~/OneDrive/Code/gaussianODEs/notebooks/importtest.ipynb:1
  [2] eval
    @ ./boot.jl:360 [inlined]
  [3] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
    @ Base ./loading.jl:1094
  [4] include_string(m::Module, txt::String, fname::String)
    @ Base ./loading.jl:1104
  [5] #invokelatest#2
    @ ./essentials.jl:708 [inlined]
  [6] invokelatest
    @ ./essentials.jl:706 [inlined]
  [7] (::VSCodeServer.var"#98#99"{VSCodeServer.NotebookRunCellArguments, String})()
    @ VSCodeServer ~/.vscode-insiders/extensions/julialang.language-julia-insider-1.3.27/scripts/packages/VSCodeServer/src/serve_notebook.jl:15
  [8] withpath(f::VSCodeServer.var"#98#99"{VSCodeServer.NotebookRunCellArguments, String}, path::String)
    @ VSCodeServer ~/.vscode-insiders/extensions/julialang.language-julia-insider-1.3.27/scripts/packages/VSCodeServer/src/repl.jl:185

  [9] otebook_runcell_request(conn::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, params::VSCodeServer.NotebookRunCellArguments)
    @ VSCodeServer ~/.vscode-insiders/extensions/julialang.language-julia-insider-1.3.27/scripts/packages/VSCodeServer/src/serve_notebook.jl:14
 [10] dispatch_msg(x::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::VSCodeServer.JSONRPC.MsgDispatcher, msg::Dict{String, Any})
    @ VSCodeServer.JSONRPC ~/.vscode-insiders/extensions/julialang.language-julia-insider-1.3.27/scripts/packages/JSONRPC/src/typed.jl:67
 [11] serve_notebook(pipename::String; crashreporting_pipename::String)
    @ VSCodeServer ~/.vscode-insiders/extensions/julialang.language-julia-insider-1.3.27/scripts/packages/VSCodeServer/src/serve_notebook.jl:91
 [12] top-level scope
    @ ~/.vscode-insiders/extensions/julialang.language-julia-insider-1.3.27/scripts/notebook/notebook.jl:10
 [13] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
 [14] exec_options(opts::Base.JLOptions)
    @ Base ./client.jl:285
 [15] _start()
    @ Base ./client.jl:485

```

Am I doing something wrong, or should I open an issue about this?

---

<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:** [July 30, 2021, 9:39pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/32 "2021-07-30T21:39:02Z")

</div>

No, that’s expected atm. We should handle parse errors better though (and crop backtraces properly).

---

<div class="post-metadata">

**Author:** ![Shuhua](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/shuhua/32/27618_2.png) [@Shuhua](https://discourse.julialang.org/u/Shuhua)\
**Post date:** [August 2, 2021, 3:40am UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/33 "2021-08-02T03:40:10Z")

</div>

> [@nilshg](#):
>
> That sorted it - on Insiders

Same result. Only worked on VS code Insiders. The reason is probably that currently the `Jupyter` extension only works on Insiders.

> [@nilshg](#):
>
> plots look a bit funny now (they stretch across the whole notebook irrespective of their actual width).

Same issue, but it has nothing to do with VS Code Julia extension.

- Reason: The default output format (of `Plots`) is `svg` for backends that support it ([doc](https://docs.juliaplots.org/latest/output/#Jupyter-/-IJulia)). However, it seems the current `Jupyter` cannot render SVG properly.
- Workaround: plot in `png` format by specifying the `fmt` parameter.

```julia
plot(Ebat; size=(500, 400), fmt=:png, label="Ebat")

```

- **Better solution** : it can be tedious to write `fmt=:png` for every plot call. You can change the global default setting instead. At the beginning of your notebook, type

```julia
default(fmt=:png)

```

Check [julia - How to set the default attributes of Plots? - Stack Overflow](https://stackoverflow.com/questions/65530265/how-to-set-the-default-attributes-of-plots) for more details.

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [August 6, 2021, 5:15pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/34 "2021-08-06T17:15:01Z")

</div>

Can someone help on installing/using the new Jupyter vscode experience?

I have vscode 1.58.2 installed on Linux. I have installed the “Jupyter extension”. However, that does not seem to be what is being mentioned here. For instance, I have to choose which kernel to run, and my Julia install (1.6.2) is not available:

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

Seems to me that I am running some legacy extension, but I’m not sure what to do.

What exactly one must do to install the new extension in Vscode?

---

<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:** [August 6, 2021, 5:27pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/35 "2021-08-06T17:27:50Z")

</div>

Did you enable the native notebook support in the Julia extension via the setting I mentioned above?

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [August 6, 2021, 5:35pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/36 "2021-08-06T17:35:00Z")

</div>

No, I had not (I was following the instructions from your JuliaCon talk 🙂 ) . Now I did, and the correct kernel appears. Still, I don’t know where those other kernels are coming from (maybe some old jupyter installation I had somewhere?)

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

But it is working now, thanks.

Maybe this is unrelated to the extension, but is there any particular reason for the commands being much more responsive in the REPL than in the notebook? Note the loading times:

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

while:

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

---

<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:** [August 6, 2021, 5:53pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/37 "2021-08-06T17:53:36Z")

</div>

So these other kernels are surfaced from the Jupyter extension, and it is looking for “traditional” kernels that you installed at some point via IJulia.jl. You could just disable the Jupyter extension and then they wouldn’t show. I think they also plan to hide the IJulia kernels in some future version, once we ship our notebook support without the flag.

The load times are interesting, not sure right now… It might be precompile stuff, or some inefficiency in our communication method or something like that. Could you maybe open an issue, we should try to get to the bottom of that!

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [August 6, 2021, 6:11pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/38 "2021-08-06T18:11:16Z")

</div>

Thanks for the help. Unfortunately I don’t know even where to start here. If I open the VScode again the correct kernel got lost again (with the vscode extension ticked). And it just took me 50s for building a plot…

(also when I tried to export the notebook to HTML I got an error which got solved by installing the Python language server, but now the Julia Language server is broken… ☹ ).

For now I will have to stop experimenting to actually finish a report. If I manage to actually have a reproducible set or problems I will post an issue accordingly.

---

<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:** [August 6, 2021, 6:49pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453/39 "2021-08-06T18:49:55Z")

</div>

Yeah, the experience is rough right now… When I recorded the Juliacon video I thought we would be able to iron it all out before Juliacon, but then it turned out we couldn’t, and that is why we hid the feature behind a configuration option: we felt it was not really ready for everyone and needs a bit more work to smooth out before we ship it by default. If you need to finish something: don’t use it yet!

[Previous page](https://discourse.julialang.org/t/ann-vs-code-extension-1-3-released/65453.md?page=1)
