VS Code extension v0.11.0 beta release

Thanks everyone for the feedback!

We are happy about feedback in any form, but you can make our lives a little easier by opening issues over at GitHub - julia-vscode/julia-vscode: Julia extension for Visual Studio Code, ideally one issue for each problem you encounter :slight_smile: If that is too cumbersome, keep responding here, more important than our workflow is that we hear the feedback!

If I use Julia REPL (started by F1, then “Julia: Start REPL” or by Ctrl-Enter to execute selected lines of code), my PyPlot plotting will take long time and will not generate any window with plot. However, if I go with the standard terminal and start Julia manually there, the PyPlot plotting works fine. This is a big problem for me as my script does a lot of plots.

This sounds to me like this? Does it also now show anything when you call gcf()? Or is this another, distinct problem?

Thanks for this report, very helpful! F5 hangs on Windows · Issue #602 · julia-vscode/julia-vscode · GitHub

The whole environment support right now is half baked, and we won’t fix this before we ship v0.11.0… I know pretty much what needs to be done to get this all into shape (some of it is really tricky), and that will be the main thing for v0.12.0 for me. But right now, we mainly want to ship :slight_smile:

1 Like

Thanks! Calling “gcf()” did show the plot in a new plane.

I almost thought “gcf()” didn’t work when I followed it by a semicolon “;” in REPL habitually. This “;” suppressed the plot output. When I removed “;” it worked.

1 Like

Sorry for so many questions - I’m new to VS plot planes.
(1) How do I interact with a PyPlot plot in a plot plane? E.g. pan, zoom, change to full screen, save as figure, …
(2) If I cannot do that for a plot plane, am I able to still use the F5 (and thus the REPL) but not the plot plane (which is triggered by gcf())?

Thanks!

You can’t, the plot pane is quite basic right now.

You should be able to pop the VS Code display from the julia base display stack and then the plotpane won’t be used anymore.

Thanks! I’m newbie regarding this. Can you explain or point me to any document that explains how to “pop the VS Code display from the julia base display stack”?

https://docs.julialang.org/en/latest/base/io-network/#Base.Multimedia.popdisplay

We have a first release candidate:

Please give it a spin and report back any errors/issues!

9 Likes

And we have a second release candidate:

https://github.com/JuliaEditorSupport/julia-vscode/releases/tag/v0.11.0-rc.2

This one fixes a bug where the plot pane “stole” various keyboard shortcuts from the editor.

2 Likes

On Windows, it still seems to be pasting the code into the REPL.

julia> module Aretto
           using Distributed
               import Distributed.launch, Distributed.manage, Distributed.kill, Distributed.init_worker, Distributed.connect
                   export SlurmManager
                       export launch, manage
                           worker_arg = `--worker`
                               function __init__()
                                       global worker_arg
                                               worker_arg = `--worker=$(Distributed.cluster_cookie())`
                                                   end
                                                       struct ArettoManager <: ClusterManager
                                                               np::Integer
                                                                   end
                                                                       function launch(manager::ArettoManager, params::Dict, launched::Array, c::Condition)
                                                                               ## get the keyword arguments passed to addprocs()
                                                                                       exehome  = params[:dir]
                                                                                               exename  = params[:exename]
                                                                                                       exeflags = params[:exeflags]
julia> module Aretto           using Distributed
               import Distributed.launch, Distributed.manage, Distributed.kill, Distributed.init_worker, Distributed.connect                   export SlurmManager
                       export launch, manage
                           worker_arg = `--worker`
                               function __init__()
                                       global worker_arg                                               worker_arg = `--worker=$(Distributed.cluster_cookie())`
                                                   end
                                                       struct ArettoManager <: ClusterManager
                                                               np::Integer
                                                                   end
                                                                       function launch(manager::ArettoManager, params::Dict, launched::Array, c::Condition)
                                                                               ## get the keyword arguments passed to addprocs()
                                                                                       exehome  = params[:dir]
                                                                                               exename  = params[:exename]
                                                                                                       exeflags = params[:exeflags]
                                                                                                               ## get the default arguments passed to addprocs()
                                                                                                                       stdkeys  = keys(Distributed.default_addprocs_params())
                                                                                                                               p = filter((x,y) -> !(x
in stdkeys), params) #get the keys passed in params that are not in stdkeys
                                                                                                                                       srunargs = []
                                                                                                                                               return nothing
                                                                                                                                                   end

function manage()

        error("not implemented")

            end

            end
WARNING: replacing module Aretto.
Main.Aretto

You mean when you press F5? Try to save the file before you hit F5, then it should include it.

We’ll really have to revamp our whole code running story, but for now we just want to get a version that is compatible with julia 1.0 out…