Dear all
I just realized an annoying feature in the stacktraces of the VScode jupyter notebook interface (VS Code Version: 1.61.2, julia version 1.6.3, on Mac OS X BigSur 11.6). I am using the Julia VS Code Extension (and not the Jupyter one shipped by VScode).
Julia VS Code Extension stacktrace of the following the command:
[1,2,3] * [1,2,3]
Stacktrace:
[1] top-level scope
@ ~/Dropbox (Personal)/CORSO_NUMERICAL/01-LANGUAGE/01-Language.ipynb:1
[2] eval
@ ./boot.jl:360 [inlined]
[3] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
@ Base ./loading.jl:1116
[4] #invokelatest#2
@ ./essentials.jl:708 [inlined]
[5] invokelatest
@ ./essentials.jl:706 [inlined]
[6] (::VSCodeServer.var"#98#99"{VSCodeServer.NotebookRunCellArguments, String})()
@ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.4.3/scripts/packages/VSCodeServer/src/serve_notebook.jl:18
[7] withpath(f::VSCodeServer.var"#98#99"{VSCodeServer.NotebookRunCellArguments, String}, path::String)
@ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.4.3/scripts/packages/VSCodeServer/src/repl.jl:185
[8] notebook_runcell_request(conn::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, params::VSCodeServer.NotebookRunCellArguments)
@ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.4.3/scripts/packages/VSCodeServer/src/serve_notebook.jl:14
[9] dispatch_msg(x::VSCodeServer.JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::VSCodeServer.JSONRPC.MsgDispatcher, msg::Dict{String, Any})
@ VSCodeServer.JSONRPC ~/.vscode/extensions/julialang.language-julia-1.4.3/scripts/packages/JSONRPC/src/typed.jl:67
[10] serve_notebook(pipename::String; crashreporting_pipename::String)
@ VSCodeServer ~/.vscode/extensions/julialang.language-julia-1.4.3/scripts/packages/VSCodeServer/src/serve_notebook.jl:94
[11] top-level scope
@ ~/.vscode/extensions/julialang.language-julia-1.4.3/scripts/notebook/notebook.jl:10
[12] include(mod::Module, _path::String)
@ Base ./Base.jl:386
[13] exec_options(opts::Base.JLOptions)
@ Base ./client.jl:285
[14] _start()
@ Base ./client.jl:485
Whereas the same command in a jupyter notebook (same kernel but run with IJulia) gives a much cleaner:
MethodError: no method matching *(::Vector{Int64}, ::Vector{Int64})
Closest candidates are:
*(::Any, ::Any, ::Any, ::Any...) at operators.jl:560
*(::StridedMatrix{T}, ::StridedVector{S}) where {T<:Union{Float32, Float64, ComplexF32, ComplexF64}, S<:Real} at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/LinearAlgebra/src/matmul.jl:44
*(::StridedVecOrMat{T} where T, ::LinearAlgebra.Adjoint{var"#s814", var"#s813"} where {var"#s814", var"#s813"<:LinearAlgebra.LQPackedQ}) at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.6/LinearAlgebra/src/lq.jl:254
...
Apparently, the Method Error section has been swallowed by the VSCode extension. This is particularly annoying as I am using VS Code Extension for didactic purposes and you can imagine how confusing it could be for a beginner such a long and useless stacktrace.