Table viewer, profile viewer, and terminal shell integration not working on vscode

I’m following the Juliacon 2022 talk about new features in VSCode but several of them are not working for me. Trying to figure out what is configured incorrectly on my system.

Running Windows 11, VSCode 1.69.2.

Julia version
julia> versioninfo()
Julia Version 1.7.3
Commit 742b9abb4d (2022-05-06 12:58 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Xeon(R) Gold 6242 CPU @ 2.80GHz
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, cascadelake)
  JULIA_EDITOR = code.cmd
Package versions
    (VSCodeFeatures) pkg> st 
Project VSCodeFeatures v0.1.0
      Status `C:\Users\bguenter\Source\github\VSCodeFeatures\Project.toml`
  [a93c6f00] DataFrames v1.3.4
  [c46f51b8] ProfileView v1.5.1
  [ce6b1742] RDatasets v0.7.7
module VSCodeFeatures

using DataFrames, RDatasets, ProfileView

iris = dataset("datasets", "iris")
export iris

medium = rand(100_000, 3)
export medium
large = rand(1_000_000, 10)
export large

function password(numchars, use_special_chars=false)
    let chars
        for _ in 1:1000000
            f(a...) = a
            special = use_special_chars ? f("!#%^&*()_+"...) : f(""...)
            chars = [('a':'z')..., ('A':'Z')..., ('1':'9')..., special...]
        return string(rand(chars, numchars)...)
export password

@profview password(10)

end #module

I evaluate iris,medium,large in VSCode, as shown in the video, and then use the Julia object viewer to look at the array values. However, unlike the video demo the table viewer icon doesn’t show up in the menu when I hover over the arrays.

I enabled terminal shell integration but the julia prompt didn’t have decorations that can be clicked to get menus. Is there some other configuration setting that has to be turned on as well?

The profile viewer doesn’t display a pane in the VSCode window. Instead it pops up a standalone window. I didn’t see a configuration setting that controls where the viewer is displayed, and don’t think the video mentioned one.

This is the REPL output after evaluating the @profview statement in VSCode:

Profile view message ``` Gtk.GtkWindowLeaf(name="", parent, width-request=-1, height-request=-1, visible=TRUE, sensitive=TRUE, app-paintable=FALSE, can-focus=FALSE, has-focus=FALSE, is-focus=FALSE, focus-on-click=TRUE, can-default=FALSE, has-default=FALSE, receives-default=FALSE, composite-child=FALSE, style, events=0, no-show-all=FALSE, has-tooltip=FALSE, tooltip-markup=NULL, tooltip-text=NULL, window, opacity=1.000000, double-buffered, halign=GTK_ALIGN_FILL, valign=GTK_ALIGN_FILL, margin-left, margin-right, margin-start=0, margin-end=0, margin-top=0, margin-bottom=0, margin=0, hexpand=FALSE, vexpand=FALSE, hexpand-set=FALSE, vexpand-set=FALSE, expand=FALSE, scale-factor=1, border-width=0, resize-mode, child, type=GTK_WINDOW_TOPLEVEL, title="Profile", role=NULL, resizable=TRUE, modal=FALSE, window-position=GTK_WIN_POS_NONE, default-width=800, default-height=600, destroy-with-parent=FALSE, hide-titlebar-when-maximized=FALSE, icon, icon-name=NULL, screen, type-hint=GDK_WINDOW_TYPE_HINT_NORMAL, skip-taskbar-hint=FALSE, skip-pager-hint=FALSE, urgency-hint=FALSE, accept-focus=TRUE, focus-on-map=TRUE, decorated=TRUE, deletable=TRUE, gravity=GDK_GRAVITY_NORTH_WEST, transient-for, attached-to, has-resize-grip, resize-grip-visible, application, is-active=TRUE, has-toplevel-focus=TRUE, startup-id, mnemonics-visible=FALSE, focus-visible=FALSE, is-maximized=FALSE) ```
  • TableViewer: Only works via the workspace view for bindings in Main. You can use Main.vscodedisplay(iris) inside of a module though.
  • Shell integration: Doesn’t work on Windows in the latest release, but a somewhat working version will be in the next one.
  • ProfileViewer: Don’t load ProfileViewer.jl if you want to use the built-in one (and use Main.@profview ... in the module).