I’ve been trying out the Julia debugger in VSCode and found a few issues with it. Windows 11, VSCode 1.93.1, julia-vscode v1.123.2
Are these all known issues? If not, where should I report them, the VScode plugin project, or Debugger?
REPL Mode
within REPL, @run only works once per session; otherwise it hangs and never hits the breakpoint.
Run & Debug Mode
Can’t change breakpoints while paused. Also, this breaks the ‘Run to Cursor’ feature.
Julia: Compiled Code mode worked initially, but stopped working as soon as I changed it. ‘Apply default’ appears to work, but did not restore functionality.
Debugger stopped working at one point and I needed to restart VSCode. Not sure how to repro this one, but I’ll try to identify repro steps.
For me this happens in every project. I’ve got about 5 I regularly mess with all with very different dependencies. Here’s my startup.jl file, if that is helpful:
using Pkg
let
pkgs = ["BenchmarkTools", "OhMyREPL", "Revise", "Crayons"]
for pkg in pkgs
if Base.find_package(pkg) === nothing
Pkg.add(pkg)
end
end
end
using BenchmarkTools
using OhMyREPL
using Crayons
import OhMyREPL: Passes.SyntaxHighlighter
try
using Revise
catch e
@warn "Error initializing Revise" exception = (e, catch_backtrace())
end
function vscode_color_scheme()
scheme = SyntaxHighlighter.ColorScheme()
# colors to match VSCode dark color scheme
SyntaxHighlighter.string!(scheme, crayon"ce9178")
SyntaxHighlighter.comment!(scheme, crayon"6A9955")
SyntaxHighlighter.function_def!(scheme, crayon"DCDCAA")
SyntaxHighlighter.call!(scheme, crayon"DCDCAA")
SyntaxHighlighter.macro!(scheme, crayon"DCDCAA")
SyntaxHighlighter.error!(scheme, crayon"F44747")
SyntaxHighlighter.number!(scheme, crayon"B5CEA8")
SyntaxHighlighter.op!(scheme, crayon"d4d4d4")
SyntaxHighlighter.keyword!(scheme, crayon"569cd6")
SyntaxHighlighter.symbol!(scheme, crayon"4EC9B0")
SyntaxHighlighter.argdef!(scheme, crayon"4EC9B0")
return scheme
end
SyntaxHighlighter.add!("VSCode", vscode_color_scheme())
colorscheme!("VSCode")
ENV["JULIA_EDITOR"] = "code.cmd"
I also created a new empty project with just one file and no dependencies. Here’s the contents of the file: