VS Code extension v0.12.0 beta release

The more folks install the release candidate and help us to fix bugs, the faster we can release this version to the marketplace :slight_smile: Installing the release candidate and enabling crash reporting is really the most helpful thing you can do at this point to get v0.12.0 shipping.

Also note that installing the RC is super simple: 1) download the VSIX file, 2) in VS Code run Extensions: Install from VSIX... and select the downloaded file. Done. Shouldnโ€™t take more than a minute.

2 Likes

Oh okay, thanks. I will install to help out. Now when the official release comes out, is it an automatic update or do I have to delete the manually installed extension?

1 Like

I think (but Iโ€™m not sure) that a newer official release will automatically replace any earlier pre-release version. At least I read something along those lines at some point somewhere :slight_smile:

We have RC.7 here.

Please install and test! Fingers crossed, this might be the last one before a final release. But we need a sufficient number of telemetry reports about users for this version to really release it into the wild :slight_smile:

3 Likes

I am trying to get Julia started in git bash.
My settings are

{
    "python.pythonPath": "C:\\ProgramData\\Anaconda3\\pythonw.exe",
    "julia.enableTelemetry": true,
    "julia.enableCrashReporter": true,
    "julia.executablePath": "C:\\Users\\PetrKrysl\\AppData\\Local\\Julia-1.1.1\\bin\\julia.exe",
    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    "terminal.external.windowsExec": "C:\\Program Files\\Git\\bin\\bash.exe",
    "editor.autoIndent": true,
    "editor.wordWrap": "on",
    "editor.wrappingIndent": "indent",
}

When I start a terminal by itself, it runs bash. However evaluating code with Julia
appears to run powershell within the bash: when I quit Julia with control D I am dumped back into
bash. So it looks like in order to start Julia (for instance in order to evaluate a fragment of code with control-enter), bash execs powershell.

Any ideas how to get Julia running in the bash? It used to work in VS Codeโ€ฆ

It looks like it works when I start VS Code from bash.
I set up a batch file like this:

cmd /C start "" "%PROGRAMFILES%\\Git\\bin\\sh.exe" --login -i -c "exec \"C:\Users\PetrKrysl\AppData\Local\Programs\Microsoft VS Code\Code.exe\""
1 Like

How is vscodedisplay() supposed to work?

If I run vscodedisplay(df) on a dataframe I get an error:

julia> include("Analyize.jl")
601ร—85 DataFrame. Omitted printing of 78 columns
โ”‚ Row โ”‚ time                             โ”‚ time_rel โ”‚ time_1    โ”‚ t_event  โ”‚ t_podstate โ”‚ t_sysstate โ”‚ t_gndstate โ”‚
โ”‚     โ”‚ String                           โ”‚ Float64  โ”‚ Float64   โ”‚ Float64โฐ โ”‚ Float64โฐ   โ”‚ Float64โฐ   โ”‚ Float64โฐ   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 1   โ”‚ 2012-06-23 15:14:49.914000+02:00 โ”‚ 29.999   โ”‚ 1.34046e9 โ”‚ missing  โ”‚ 30.002     โ”‚ 30.035     โ”‚ 30.0       โ”‚
โ”‚ 2   โ”‚ 2012-06-23 15:14:49.863000+02:00 โ”‚ 29.949   โ”‚ 1.34046e9 โ”‚ missing  โ”‚ 29.952     โ”‚ 29.985     โ”‚ 29.95      โ”‚
โ”‚ 3   โ”‚ 2012-06-23 15:14:49.814000+02:00 โ”‚ 29.899   โ”‚ 1.34046e9 โ”‚ missing  โ”‚ 29.902     โ”‚ 29.935     โ”‚ 29.9       โ”‚
โ”‚ 4   โ”‚ 2012-06-23 15:14:49.764000+02:00 โ”‚ 29.849   โ”‚ 1.34046e9 โ”‚ missing  โ”‚ 29.852     โ”‚ 29.885     โ”‚ 29.85      โ”‚
โ‹ฎ
โ”‚ 597 โ”‚ 2012-06-23 15:14:20.113000+02:00 โ”‚ 0.199    โ”‚ 1.34046e9 โ”‚ missing  โ”‚ 0.202      โ”‚ 0.235      โ”‚ 0.2        โ”‚
โ”‚ 598 โ”‚ 2012-06-23 15:14:20.064000+02:00 โ”‚ 0.149    โ”‚ 1.34046e9 โ”‚ missing  โ”‚ 0.152      โ”‚ 0.185      โ”‚ 0.15       โ”‚
โ”‚ 599 โ”‚ 2012-06-23 15:14:20.014000+02:00 โ”‚ 0.099    โ”‚ 1.34046e9 โ”‚ missing  โ”‚ missing    โ”‚ 0.135      โ”‚ 0.1        โ”‚
โ”‚ 600 โ”‚ 2012-06-23 15:14:19.964000+02:00 โ”‚ 0.049    โ”‚ 1.34046e9 โ”‚ missing  โ”‚ missing    โ”‚ 0.085      โ”‚ 0.05       โ”‚
โ”‚ 601 โ”‚ 2012-06-23 15:14:19.914000+02:00 โ”‚ -0.001   โ”‚ 1.34046e9 โ”‚ 0.0      โ”‚ missing    โ”‚ missing    โ”‚ missing    โ”‚

julia> vscodedisplay(df2)
ERROR: MethodError: Main._vscodeserver.julia_type_to_schema_type(::Type{Union{}}) is ambiguous. Candidates:
  julia_type_to_schema_type(::Type{T}) where T<:Integer in Main._vscodeserver at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:357
  julia_type_to_schema_type(::Type{T}) where T<:Bool in Main._vscodeserver at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:358
  julia_type_to_schema_type(::Type{T}) where T<:Dates.Time in Main._vscodeserver at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:359
  julia_type_to_schema_type(::Type{T}) where T<:Dates.Date in Main._vscodeserver at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:360
  julia_type_to_schema_type(::Type{T}) where T<:Dates.DateTime in Main._vscodeserver at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:361
  julia_type_to_schema_type(::Type{T}) where T<:AbstractString in Main._vscodeserver at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:362
  julia_type_to_schema_type(::Type{T}) where {S, T<:DataValue{S}} in Main._vscodeserver at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:304
  julia_type_to_schema_type(::Type{T}) where T<:AbstractFloat in Main._vscodeserver at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:356
Possible fix, define
  julia_type_to_schema_type(::Type{Union{}})
Stacktrace:
 [1] julia_type_to_schema_type(::Type{DataValues.DataValue{Union{}}}) at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:304
 [2] printdataresource(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Tables.DataValueRowIterator{NamedTuple{(:time, :time_rel, :time_1, :t_event, :t_podstate, :t_sysstate, :t_gndstate, :t_miniwinchstate, :t_winchstate, :t_pilotctrlstate, :pod_ctrl_state, :system_state, :event, :gps_state, :kalman_state, :lat, :long, :alt, :phi, :theta, :psi, :d_phi, :d_theta, :d_psi, :vx, :vy, :vz, :acc_x, :acc_y, :acc_z, :gps_sat_trimble, :glos_sat_trimble, :trimble_lat, :trimble_long, :trimble_alt, :trimble_delay, :sigma_north, :sigma_east, :sigma_up, :trimble_vel_hor, :trimble_course_hor, :trimble_vel_vert, :u_av_batt, :u_min_depower, :u_min_steering, :t_smotor, :t_dmotor, :counter, :rtt_ms, :packet_number, :path, :wind_dir, :wind_vel, :gnd_lat, :gnd_long, :gnd_alt, :v_reelout, :tetherLength, :force, :u_batt, :i_brake, :i_main, :i_out, :i_spindle, :u_wind, :abs_pressure, :av_wind_dir, :av_wind_vel, :est_app_wind_kite, :app_wind_kite, :pos_east, :pos_north, :height, :elevation, :azimuth, :kite_distance, :tether_length_reelout, :heading, :course, :rel_depower, :rel_steering, :depower, :steering, :set_depower, :set_steering),Tuple{String,Float64,Float64,DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Union{}},DataValues.DataValue{Float64},DataValues.DataValue{Float64},Float64,DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Union{}},DataValues.DataValue{Union{}},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Union{}},DataValues.DataValue{Union{}},DataValues.DataValue{Union{}},DataValues.DataValue{Union{}},DataValues.DataValue{Union{}},DataValues.DataValue{Union{}},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Union{}},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64},DataValues.DataValue{Float64}}},Tables.RowIterator{NamedTuple{(:time, :time_rel, :time_1, :t_event, :t_podstate, :t_sysstate, :t_gndstate, :t_miniwinchstate, :t_winchstate, :t_pilotctrlstate, :pod_ctrl_state, :system_state, :event, :gps_state, :kalman_state, :lat, :long, :alt, :phi, :theta, :psi, :d_phi, :d_theta, :d_psi, :vx, :vy, :vz, :acc_x, :acc_y, :acc_z, :gps_sat_trimble, :glos_sat_trimble, :trimble_lat, :trimble_long, :trimble_alt, :trimble_delay, :sigma_north, :sigma_east, :sigma_up, :trimble_vel_hor, :trimble_course_hor, :trimble_vel_vert, :u_av_batt, :u_min_depower, :u_min_steering, :t_smotor, :t_dmotor, :counter, :rtt_ms, :packet_number, :path, :wind_dir, :wind_vel, :gnd_lat, :gnd_long, :gnd_alt, :v_reelout, :tetherLength, :force, :u_batt, :i_brake, :i_main, :i_out, :i_spindle, :u_wind, :abs_pressure, :av_wind_dir, :av_wind_vel, :est_app_wind_kite, :app_wind_kite, :pos_east, :pos_north, :height, :elevation, :azimuth, :kite_distance, :tether_length_reelout, :heading, :course, :rel_depower, :rel_steering, :depower, :steering, :set_depower, :set_steering),Tuple{Array{String,1},Array{Float64,1},Array{Float64,1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Missing,1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Float64,1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Missing,1},Array{Missing,1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Missing,1},Array{Missing,1},Array{Missing,1},Array{Missing,1},Array{Missing,1},Array{Missing,1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Missing,1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1},Array{Union{Missing, Float64},1}}}}}) at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:392
 [3] vscodedisplay(::DataFrame) at /home/ufechner/.vscode/extensions/julialang.language-julia-0.12.0-rc.7/scripts/terminalserver/terminalserver.jl:429
 [4] top-level scope at none:0

Created an issue: https://github.com/julia-vscode/julia-vscode/issues/804

Yep, that is just a bug, thanks for opening the issue!

First, thank you all for the great work on the extension, linter and the other features.

Iโ€™d like to ask if the new features regarding alt-enter @__DIR__ etc. substitutions work also in julia markdown (.jmd) files. As my experience the alt-enter does nothing in the julia section in jmd files. Am I missing anything in the settings? Or what is the expected workflow? Is it possible to execute the whole julia section somehow?

I really like to work in the weave regime compared to the jupyter notebook but at the end of the day I like to export jmd into a ipynb notebook for sharing with other collaborators (users). Lacking the alt-enter functionality is sad, especially in context of the huge leap forward in the plugin capabilities.

I should work in jmd files, but we might well have a bug there. Would be great if you could open an issue over at GitHub - julia-vscode/julia-vscode: Julia extension for Visual Studio Code.

Looks like v0.12 is officially released. I wanted to install the extension manually, but it seems that VSCode automatically updated it for me.

I canโ€™t seem to enter in Latex/Unicode anymore. For example \in and \beta donโ€™t seem to resolve to their characters. I am using v0.12.

Anyone else?

Iโ€™ve been using the Fast Unicode Math Characters extension following https://github.com/julia-vscode/julia-vscode/issues/613#issuecomment-502306542, and Iโ€™ve had no issues since. I think itโ€™s just a better solution; the julia-vscode solution of going through the language server to look up latex symbols means that the language server needs to be running and stable, but it takes a little while for the language server to start up and there have certainly been some stability issues in the past. Also this extension works in comments, while the julia-vscode solution doesnโ€™t. So I actually hope that what remains of julia-vscode latex character entry support is eventually removed in favor of third-party extensions like this.

3 Likes

I like that extension, but I have not found a way to make it work with julia-vscode: that is, it works within every type of document except a julia file. In a julia file, I have to use the manual menu provided by the extension if I want to use it, or the language server has to be running, in which case the built-in unicode support for a julia file works.

I think I had that issue in the past (or maybe that was a different extension?), but no longer; \alpha<tab> just works now, also in Julia files. Maybe something was updated in the extension or in julia-vscode?

1 Like

Ah yes! That does seem to work for me now. I guess I hadnโ€™t checked in a bitโ€ฆ

@tkoolen we actually had the latex completions outside of the LS server for a long time and then moved it in at some point. I agree, it used to be more stable outsideโ€ฆ

I think there are a lot of things we could do to speed up the startup of LS, which would solve one problem. Other stability problems we should really also just try to fix. So that would be one strategy to solve this, the other of course to go back to the original solution of not having latex completion in the LSโ€ฆ Not sure which one is better.

So is the language server turned off by default? I donโ€™t have the โ€œgo-toโ€ context menu, hover and peek, and other functionality that (as far as I remember) used to exist.

Is there a way to manually start the language server?

No, it should be on. If not, then there is some bug.