Skip to content

v2.0.0 — Championship Development Suite

Choose a tag to compare

@thehomelessguy thehomelessguy released this 14 Apr 16:13
· 15 commits to main since this release

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.sleepTimer.delay() with import
  • Strip Hungarian notation prefixes automatically
  • Replace System.out.printlnLogger.recordOutput()
  • Insert @AutoLog annotations 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 .path and .auto files
  • Named command validation — cross-references NamedCommands.registerCommand() in Java vs commands referenced in .auto JSON
  • 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:

  1. Commands — All build/deploy/generate/audit actions
  2. CAN IDs — Quick reference from Constants files
  3. PathPlanner — Paths, autos, and named command validation
  4. Deploy History — Last 10 deploys with timestamps

Settings

  • marslib.teamNumber — Your FRC team number (default: 2614)
  • marslib.rioAddress — Override RIO address if needed
  • marslib.projectDoctor.enabled — Toggle real-time linting

Install

code --install-extension marslib-vscode-2.0.0.vsix