# \[ANN\] VS Code extension 1.2 released

**URL:** https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118
**Category:** VS Code
**Tags:** announcement
**Created:** [May 31, 2021, 8:47am UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118 "2021-05-31T08:47:49Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![cortner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cortner/32/204_2.png) [@cortner](https://discourse.julialang.org/u/cortner)
#### Post date: [June 1, 2021, 6:22pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/21 "2021-06-01T18:22:25Z")

</div>

> [@pfitzseb](#):
>
> > [@cortner](#):
> >
> > the inline results were formatted much more nicely in Atom (+ could easily get rid of them when no longer needed)
> 
> … but you should be able to clear them the same in Juno

Definitely not, In Juno I just go to the relevant line and press ESC. This does not work here.

---

<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: [June 1, 2021, 6:48pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/22 "2021-06-01T18:48:03Z")

</div>

Ah. I always forget about the defaults in the VSCode extension. Give

> **[Keyboard shortcuts](https://github.com/julia-vscode/julia-vscode/wiki/Keyboard-shortcuts#replicating-juno-shortcuts)**
>
> Julia extension for Visual Studio Code. Contribute to julia-vscode/julia-vscode development by creating an account on GitHub.

a go 🙂

> [@cortner](#):
>
> Does Juno just have custom views rather than just printing the output into a window when you hover?

Yep. VSCode doesn’t really allow for anything but markdown though.

> [@cortner](#):
>
> In my personal experience - far from it. I’m especially when I’m editing a module and want to evaluate a new function definition it will often evaluate the entire file.
> 
> Another common case is when I am in a test script where the tests are enclosed in `@testset ... begin end` then executing a line within those with ALT+ENTER will always execute the entire file.
> 
> Seems to me this is using only indentation to determine code blocks?

No, Juno is using indentation. VSCode parses your code and should always pick the biggest non-module code-unit. Please open issues if not, preferably with your code and the exact cursor position.

---

<div class="post-metadata">

### Author: ![cortner](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/cortner/32/204_2.png) [@cortner](https://discourse.julialang.org/u/cortner)
#### Post date: [June 1, 2021, 6:49pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/23 "2021-06-01T18:49:03Z")

</div>

ok, thanks for clarifying… weird. I’ll produce small examples if I can and come back on github.

P.S: I should have found that “clear inline results…” commands myself, sorry about that…

---

<div class="post-metadata">

### Author: ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)
#### Post date: [June 1, 2021, 7:09pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/24 "2021-06-01T19:09:58Z")

</div>

Related to or similar this issue?  
[https://github.com/julia-vscode/julia-vscode/issues/2078](https://github.com/julia-vscode/julia-vscode/issues/2078)

---

<div class="post-metadata">

### Author: ![Peter\_Adelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/peter_adelman/32/11907_2.png) [@Peter\_Adelman](https://discourse.julialang.org/u/Peter_Adelman)
#### Post date: [June 4, 2021, 5:20pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/25 "2021-06-04T17:20:13Z")

</div>

I develop inside of a devcontainer on a remote server. As of the upgrade to 1.2, error links in stack traces in the REPL stopped opening in the code viewer when I use alt-click.

I assume this is related to the Julia:Editor setting that (I believe) is new. I see the default is code/code-insiders, but what was it effectively on version 1.1?

JULIA\_EDITOR is getting set to `"/vscode/vscode-server/bin/x64/054a9295330880ed74ceaedda236253b4f39a335/node"` for me on 1.2.1:

```julia
julia> ENV["JULIA_EDITOR"]
"\"/vscode/vscode-server/bin/x64/054a9295330880ed74ceaedda236253b4f39a335/node\""

```

The double quotes are suspicious.

Edit:  
Turns out that some links do work.

Example:

```nohighlight
julia> query(DataConfig(), PgSQLcon())
ERROR: MethodError: no method matching append!(::Nothing, ::Vector{Outcome})
Closest candidates are:
  append!(::DataStructures.MutableLinkedList, ::Any...) at /root/.julia/packages/DataStructures/ixwFs/src/mutable_list.jl:160
  append!(::SentinelArrays.ChainedVector{T, AT}, ::AT) where {T, AT<:AbstractVector{T}} at /root/.julia/packages/SentinelArrays/hLZPV/src/chainedvector.jl:570
  append!(::SentinelArrays.ChainedVector{T, A} where A<:AbstractVector{T}, ::Any) where T at /root/.julia/packages/SentinelArrays/hLZPV/src/chainedvector.jl:588
  ...
Stacktrace:
 [1] query(config::DataConfig, connObj::PgSQLcon; verbose::Bool, days_per_pull::Int64, parallel::Bool, unique_keys::Vector{String})
   @ Data ~/myproject.jl/Data.jl/src/Data.jl:368
...

```

The top 3 links do work and open files successfully. The bottom link, to the source of a dev’d package, is greyed out and fails.

---

<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: [June 4, 2021, 7:55pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/26 "2021-06-04T19:55:28Z")

</div>

That’s a [known issue](https://github.com/julia-vscode/julia-vscode/issues/2184) and will be fixed in the next release.

---

<div class="post-metadata">

### Author: ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)
#### Post date: [June 4, 2021, 7:57pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/27 "2021-06-04T19:57:45Z")

</div>

WIth the `connect to external REPL` mode, is there a way to open files in vscode that appear in stack traces? That’s the only thing I’m missing. I tried the number plus ctrl+q thing, but nothing happens. Or do I need to set an editor specifically?

---

<div class="post-metadata">

### Author: ![zhopan77](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhopan77/32/12569_2.png) [@zhopan77](https://discourse.julialang.org/u/zhopan77)
#### Post date: [June 6, 2021, 3:45am UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/28 "2021-06-06T03:45:35Z")

</div>

I had the same cumbersome debugging experience and was waiting for this new feature. Very exciting to have it now!

However, with Julia 1.6.1 and VSCode Julia Insider 1.2.2, after setting EVERY module except my own code to “compiled (all)”, the debugging is still very slow - I waited for minutes and the breakpoint set inside my “main” function (i.e. not even in a nested function) is still not hit, while my laptop had been working really hard judging from the fan noise.

The “Compiled mode (experimental)” option is now gone, so I cannot compare to that experimental mode anymore, but that mode used to be quite fast, just I need to manually set a series of breakpoints to “guide” the debugger into the nested function for which I’d like to debug.

Is there tutorial/instruction on how to properly use the new COMPILED CODE feature? Thanks!

(new information) When I tried breaking at “main()” and stepping into the function then keep stepping over, I noticed that most of the very long delay is caused by statements that use XLSX.readtable() to read an Excel sheet (not just the first such statement is slow, but every such statement is slow), although I already set XLSX as “compiled (all)”. I then tried reverting to VSCode Julia 1.1.40 and stepping into main() while “Compiled Mode (experimental)” is enabled, and XLSX.readtable() was pretty fast to step over.

---

<div class="post-metadata">

### Author: ![skleinbo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/skleinbo/32/36080_2.png) [@skleinbo](https://discourse.julialang.org/u/skleinbo)
#### Post date: [June 6, 2021, 8:30am UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/29 "2021-06-06T08:30:16Z")

</div>

> [@pfitzseb](#):
>
> integration for persistent `tmux` processes,

I am beyond excited about that and the other new features.

Thank you so much for all your work on the extension!

---

<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: [June 6, 2021, 9:27am UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/30 "2021-06-06T09:27:27Z")

</div>

Can you try to give a reproducable example of that? And is `XLSX` set to compiled in your case?

Also, the “Compiled code” toggle isn’t gone, it’s just been moved to the `Julia: Compiled Code` pane and functionally the same:  
 ![grafik](https://global.discourse-cdn.com/julialang/original/3X/8/b/8b6c5010a7f44b33bbd54bfbdb3076f6590b58ae.png)

---

<div class="post-metadata">

### Author: ![gianmariomanca](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gianmariomanca/32/25597_2.png) [@gianmariomanca](https://discourse.julialang.org/u/gianmariomanca)
#### Post date: [June 6, 2021, 2:52pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/31 "2021-06-06T14:52:40Z")

</div>

I wanted to test it with a simple example but I keep getting stack overflows

 ![Screen Shot 2021-06-06 at 7.51.57 AM](https://global.discourse-cdn.com/julialang/original/3X/9/7/97aeb0ac6cb1da70f1409b6cd5727c5c8fd12539.png)

---

<div class="post-metadata">

### Author: ![gianmariomanca](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gianmariomanca/32/25597_2.png) [@gianmariomanca](https://discourse.julialang.org/u/gianmariomanca)
#### Post date: [June 6, 2021, 2:58pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/32 "2021-06-06T14:58:09Z")

</div>

I tested it in a couple of different macos machines, in one of them with a fresh installation of julia 1.6.1, vscode and the julia extention. It stops at the breakpoint the first time, if I try to continue nothing is printed, the breakpoint is not reached again in the second iteration of the for loop and most of the time it dies with a stack overflow.

---

<div class="post-metadata">

### Author: ![gianmariomanca](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gianmariomanca/32/25597_2.png) [@gianmariomanca](https://discourse.julialang.org/u/gianmariomanca)
#### Post date: [June 6, 2021, 3:01pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/33 "2021-06-06T15:01:52Z")

</div>

Here the same issue also with the compile mode disabled just in case

 ![Screen Shot 2021-06-06 at 8.00.22 AM](https://global.discourse-cdn.com/julialang/original/3X/2/4/24bd5ba01cce9874169db9eb2fe916581e07c939.png)

---

<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: [June 6, 2021, 4:20pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/34 "2021-06-06T16:20:22Z")

</div>

That bug should be fixed on master/insiders.

---

<div class="post-metadata">

### Author: ![zhopan77](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zhopan77/32/12569_2.png) [@zhopan77](https://discourse.julialang.org/u/zhopan77)
#### Post date: [June 6, 2021, 4:39pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/35 "2021-06-06T16:39:57Z")

</div>

Thanks for your response. Yes XLSX was set to “compiled (all)” as well.

Here’s a simple example. The input data files are just 10 columns \* 2,000 rows of random floating numbers between 0 and 1, with column headers being “Col1”, “Col2”, …, “Col10”. One copy is saved as randomdata\_large.xlsx, another copy is saved as randomdata\_large.csv. I also created smaller data files with only 20 rows instead.

Unfortunately, uploading non-image files is not permitted, so I zipped up the data files and shared it here: [https://u.pcloud.link/publink/show?code=kZkySMXZoA5JO6MiieY13kealFwXsSGY0jck](https://u.pcloud.link/publink/show?code=kZkySMXZoA5JO6MiieY13kealFwXsSGY0jck) The sharing expires in 3 months.

The code is below:

```julia
using DataFrames
using XLSX
using CSV

function main()
    println("Script started.")

    isXLSX = true
    isLarge = true

    fn = "randomdata_" * (isLarge ? "large" : "small")

    if isXLSX
        fullfn = joinpath(@ __DIR__ , fn * ".xlsx")
        tmp = XLSX.readtable(fullfn, "Sheet1", stop_in_empty_row=false)
        df1 = DataFrame(tmp...)
    else
        fullfn = joinpath(@ __DIR__ , fn * ".csv")
        df1 = CSV.read(fullfn, DataFrame)
    end

    df2 = filter(x->x.Col1 < 0.5 && x.Col2 < 0.5, df1)
    CSV.write(fn * "_result.csv", df2)

    println("Script finished.")
end

main()

```

Here’s the execution time:

- Simply running the script with large input data files, either Excel or CSV: 0.1 to 0.2 sec.
- With large input data files, stepping over most statements takes less than a couple seconds (including the calls to DataFrame() and filter()), but the following is different:
  - XLSX.readtable(): 2 min 20 sec
  - CSV.read(): 9 sec
  - CSV.write(): 11 sec

- With small input files, the stepping over time is much shorter. So the majority of this processing time scales with data file size.
- It seems large file operation is dominant here.

During the debugging, “Julia: Enable Compiled Mode for the debugger” is on (the dot is red), and all modules including the main function are set to “compiled (all)”. Please see screen shots below.

Versions these data/screenshots were taken: Windows 10 Enterprise 64-bit, Julia 1.6.1, VSCode Julia 1.2.1 (tried Insider 1.2.2 earlier as well similar behavior).

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

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

---

<div class="post-metadata">

### Author: ![gianmariomanca](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gianmariomanca/32/25597_2.png) [@gianmariomanca](https://discourse.julialang.org/u/gianmariomanca)
#### Post date: [June 6, 2021, 5:06pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/36 "2021-06-06T17:06:28Z")

</div>

@pfitzseb , where you referring to my example or one from a different user? I can still reproduce the stack overflow with the 1.2.2 extension.

 ![Screen Shot 2021-06-06 at 10.05.50 AM](https://global.discourse-cdn.com/julialang/original/3X/d/0/d03809e40db4128031618745ac8f0ef67a12d4e7.png)

---

<div class="post-metadata">

### Author: ![heliosdrm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/heliosdrm/32/3851_2.png) [@heliosdrm](https://discourse.julialang.org/u/heliosdrm)
#### Post date: [June 6, 2021, 8:12pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/37 "2021-06-06T20:12:34Z")

</div>

Excuse me the silly question but… when the button is red, the hint says “Enable Compiled Mode for the debugger”. Does this mean that it is already enabled, or that you must click on it to enable it?

---

<div class="post-metadata">

### Author: ![phlavenk](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/phlavenk/32/1873_2.png) [@phlavenk](https://discourse.julialang.org/u/phlavenk)
#### Post date: [June 6, 2021, 8:13pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/38 "2021-06-06T20:13:27Z")

</div>

Are there any plans for better support of the `Literate.jl` workflow? it would be cool to have:

- support markdown highlighting in the comment blocks
- run Literate.jl build for active file as a `task` with automatic opening of the md file / preview
- maybe use first comment row in the file to define the parameters of Literate execution (like, `execute=true`, or the output directory and format)

Other than that, already now the workflow is OK, just not that nicely polished as were jl weave files in Atom in the old days…

Thank you very much for giving your time to others by polishing and fixing the VScode Julia experience.

---

<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: [June 7, 2021, 3:14pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/39 "2021-06-07T15:14:32Z")

</div>

The plot navigator keeps opening up when I make a new plot, is that intended ? it’s quite annoying.

---

<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: [June 7, 2021, 3:22pm UTC](https://discourse.julialang.org/t/ann-vs-code-extension-1-2-released/62118/40 "2021-06-07T15:22:24Z")

</div>

Yes, but 1.2.2 makes that behaviour optional.

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

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