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