VS Code · PROS · EZ Template — Complete Setup Guide
VEXcode is beginner-friendly but limited. The PROS + VS Code stack gives you:
Go to code.visualstudio.com and download the installer for your OS.
Run the installer. On Windows, check these options during install:
code . from a terminal to open any folder.
The PROS extension connects VS Code to the PROS toolchain.
pros CLI the first time you use it.
These aren't required, but they make coding much smoother:
Key areas you'll use constantly:
PROS (Purdue Robotics Operating System) is a free, open-source development environment for VEX V5 robots. It lets you write full C or C++ programs with access to all V5 hardware.
After installing the extension, create your first project:
my-robot)A PROS project looks like this:
Connect your V5 Brain via USB, then use these commands in the terminal:
Or use the PROS sidebar buttons — Build, Upload, and Build+Upload are available with one click.
These are the most common PROS functions for V5 hardware:
EZ Template is a PROS library created by EZ-Robotics that gives you a fully working drive system out of the box, so you can focus on strategy instead of low-level code.
It includes:
EZ Template provides a ready-to-use example project to start from:
Open src/robot-config.cpp and set your motor ports. This is the main file you edit to match your physical robot:
In src/main.cpp, inside the opcontrol() function, add your driver control loop:
pros::delay(ez::E_TASK_DELAY) line is critical — it prevents the loop from using 100% CPU and causing issues with other tasks.
In src/autons.cpp, write your autonomous functions using EZ Template's movement commands:
Then register it in the auton selector in initialize():
PID tuning makes your autonomous movements accurate. In autons.cpp, find default_constants():
Quick tuning guide:
Follow this checklist every time you set up a new robot or season:
robot-config.cpp — set motor ports, wheel size, gear ratiopros build-upload — verify the robot drivesdefault_constants()autons.cppBeyond the drivetrain, you'll want to control other mechanisms. Add motors in robot-config.cpp:
Then control them in opcontrol():
printf("value: %d\
", myVar); in your code, then run pros terminal to see debug output in real time over USB.
Robot not responding after upload?
Motors moving wrong direction?
- before the port number in your chassis constructor to reverse itAuton drifting or inaccurate?
chassis.imu_calibrate(); in initialize()Build errors / red squiggles everywhere?
pros build in the terminal for detailed error outputYour environment is set up. Now open a project, read real code, and write your first autonomous in one guided session.
First 30 Minutes in VS Code →