feat: persistent REPL, package auto-installer, plot solution button (v0.3.0) - #3
Merged
Merged
Conversation
…button (v0.3.0) Persistent REPL session (replSession.ts) - Single Julia process kept alive for the whole VS Code session - Code sent via stdin; unique end-sentinel per execution so outputs never bleed across runs - Startup code disables output truncation and Pkg precompile noise - Run Block now uses the session when ready → no 2-3s Julia startup cost on the second and subsequent runs - Falls back to one-shot subprocess on first run while session starts - New command: SciML: Restart Julia Session (refreshes the process) Package auto-installer (packageManager.ts) - On file open / save, scans for `using X` / `import X` statements - Asks Julia which packages are missing from the active environment - Offers a one-click notification: "Install X, Y, Z" - Runs Pkg.add inside the REPL session; shows status bar progress Plot Solution button (variableInspector.ts + extension.ts) - Variable inspector now shows 📈 button on any ODESolution / SDESolution / BVPSolution / OptimizationSolution binding - Clicking it runs `Plots.plot(varName)` in the REPL session and opens the result in the Plot Viewer side panel
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Persistent Julia REPL session (
replSession.ts) — keeps one Julia process alive for the whole VS Code session. Code is sent via stdin with a unique end-sentinel per run. Eliminates the ~2-3s startup cost after the first block run. Falls back to one-shot subprocess on the very first run while the session warms up. New command: SciML: Restart Julia Session.Package auto-installer (
packageManager.ts) — on file open/save, scansusing X/import Xstatements and checks which packages are missing. Offers a one-click notification to install them viaPkg.addinside the REPL session.Plot Solution button — the Variable Inspector now shows a 📈 button next to any
ODESolution,SDESolution,BVPSolution, orOptimizationSolutionbinding. Clicking it runsPlots.plot(varName)in the active REPL session and opens the result in the Plot Viewer.New files
src/replSession.tssrc/packageManager.tsTest plan
.jlfile → REPL session starts in background (no prompt)using Plotsnot installed → notification appears → click Install → installs successfullyODESolutionrow has 📈 button → click → Plot Viewer opensSciML: Restart Julia Session→ status bar shows restart message → session recoversnpx tsc -p .— no errors🤖 Generated with Claude Code