Releases: MARSProgramming/marslib-vscode
MARSLib Extension v2.0.8
Added auto log puller and CAN ID normalization support for 2.5D simulation.
MARSLib VS Code Extension v2.0.7
Removed Maple-Sim dependency bundle from the environment setup tool per architectural shift.
MARSLib VS Code Extension v2.0.6
Hotfix: Refined the ProjectDoctor static analyzer regex to eliminate false-positive @autolog missing telemetry warnings on hardware implementers.
MARSLib VS Code Extension v2.0.5
Automated release via MARSLib Dev Tools. Includes new vendordep configurations, updated setup UI, and robust accessibility standards across webview diagnostic panes.
v2.0.4
Restored sidebar views to the MARSLib activity bar container.
v2.0.3 - Layout Spacial Optimization
Resolves scrolling requirement by dedicating the entire sidebar Explorer space exclusively to Commands. All data-driven views (CAN IDs, PathPlanner, Deploy History) have been relocated to the native Bottom Panel (Terminal area), giving both panels 100% vertical real estate.
v2.0.2 - Sidebar UI Bugfixes
Resolves visual overlap bugs caused by flat command lists in VS Code standard tree views by grouping extension commands into collapsible categories.
v2.0.1 - Minor UI Overflow Fixes
Includes CAN Bus Visualizer layout fixes and optimized ESLint integration.
v2.0.0 — Championship Development Suite
v2.0.0 — Championship Development Suite
MARSLib VS Code Extension has been transformed into a comprehensive development suite for FRC robotics.
New Features
Quick Fix Provider
- One-click auto-fixes for all 9 ProjectDoctor rules in the lightbulb menu
- Replace
Thread.sleep→Timer.delay()with import - Strip Hungarian notation prefixes automatically
- Replace
System.out.println→Logger.recordOutput() - Insert
@AutoLogannotations on Inputs classes
Enhanced Project Doctor — 9 Elite Coding Rules
- Thread.sleep → Error (blocks robot thread)
- Hungarian notation (m_, f_, s_) → Warning
- Single-char variables → Warning (except i/j/k loop vars)
- System.out.println → Warning (use Logger)
- Object allocation in periodic()/execute() → Error (GC pressure)
- while(true) → Error (blocks thread)
- Magic numbers in motor config → Info
- Missing addRequirements() in Command constructors → Warning
- Missing @autolog on IO Inputs classes → Warning
Subsystem Generator v2 — Multi-Step Wizard
- 5-step guided wizard: Name → Mechanism Type → Motor → Sensor → SysId
- Motor-specific code generation (TalonFX/SparkMax/SparkFlex)
- Mechanism types: Rotary, Linear, Flywheel (correct unit naming)
- Optional SysId characterization routine scaffolding
Deploy Manager with Pre-Flight Checks
- Compile verification before deploying
- Dirty working tree warning with option to proceed
- Confirmation dialog showing git hash, branch, and team number
- Deploy history persisted across sessions, visible in sidebar
PathPlanner Integration
- Sidebar tree view listing all
.pathand.autofiles - Named command validation — cross-references
NamedCommands.registerCommand()in Java vs commands referenced in.autoJSON - Highlights unregistered commands as errors and unused registrations as warnings
Simulation Launcher
- Sim/Deploy mode toggle in the status bar
- Compound Sim + AdvantageScope launch command
- Cross-platform AdvantageScope detection
CAN Bus Visualizer
- Interactive webview showing CAN bus topology
- Scans Java source for TalonFX, SparkMax, SparkFlex, CANcoder, Pigeon2, PDH
- Color-coded device cards with variable name inference
- ID conflict detection with animated warnings
- Groups devices by CAN bus (rio, canivore, etc.)
Sidebar Views
The MARSLib sidebar now has 4 panels:
- Commands — All build/deploy/generate/audit actions
- CAN IDs — Quick reference from Constants files
- PathPlanner — Paths, autos, and named command validation
- Deploy History — Last 10 deploys with timestamps
Settings
marslib.teamNumber— Your FRC team number (default: 2614)marslib.rioAddress— Override RIO address if neededmarslib.projectDoctor.enabled— Toggle real-time linting
Install
code --install-extension marslib-vscode-2.0.0.vsix
v1.2.0 — Environment Setup Fix + Configurable Settings
What's New in v1.2.0
Bug Fixes — Environment Setup
- Fixed all vendordep URLs — Previous URLs pointed to non-existent
MARSLib/MARSLiborg. Now uses canonicaljsonUrlfrom each vendordep file. - Added 4 missing vendordeps — LimelightLib, PhotonLib, QuestNav, and WPILibNewCommands are now included (was only downloading 5 of 9).
- Fixed HTTPS redirect handling — GitHub raw URLs chain multiple redirects; the downloader now follows up to 5 hops.
- JSON validation — Downloaded vendordeps are validated before saving to prevent corrupt files.
- Fixed Gradle crash — Setup now runs
gradlew buildinstead ofgenerateVersionFile spotlessApplywhich crashes due to theeventDeploydependency chain. - Fixed git hook installation — Writes hooks directly to
.git/hooks/instead of non-existent.githooks/directory.
Bug Fixes — Background Daemon
- Fixed daemon crash — Uses
compileJava(which properly chains togenerateVersionFile) instead of callinggenerateVersionFiledirectly. - Added 15s cooldown and concurrent execution guard to prevent build spam.
Bug Fixes — Status Bar
- RIO address is now configurable — Derived from
marslib.teamNumbersetting instead of hardcodedroborio-2614-frc.local. - Git sync auto-detects default branch — No longer hardcoded to
origin/master. - Shows both ahead and behind counts.
New Features
- Settings page (
marslib.teamNumber,marslib.rioAddress,marslib.projectDoctor.enabled) — accessible from VS Code Settings UI. - MIT License added.
Cleanup
- Removed stale
mock_run.jsandmock_run2.jsfrom repository. - Removed old VSIX build artifacts from disk.
Install
Download marslib-vscode-1.2.0.vsix and install via:
code --install-extension marslib-vscode-1.2.0.vsix