Installation
Installation of the VEX extension for VSC is very easy. In general, here are the steps.
Install VSC.
Install the Microsoft C++ extension. Install this extension if you will code using C++.
Install the Microsoft Python extension. Install this extension if you will code using Python.
Install the VEX extension.
Caution
Be careful with the VEX extension as there are other extensions also with the word VEX and they are not the ones you want; in fact, if you search for the keyword vex
inside VSC for the extension, the top two results are not the ones you want.
VEX Extension
The VSC VEX extension is installed at the following locations.
%homedrive%%homepath%/.vscode/extensions/vexrobotics.vexcode-0.3.0
(Windows)~/.vscode/extensions/vexrobotics.vexcode-0.3.0
(Mac)
.
├── CHANGELOG.md
├── LICENSE.txt
├── README.md
├── dist
│ ├── extension.js
│ └── webviews
│ └── views
│ ├── homeView.js
│ ├── importProject.js
│ ├── newProject.js
│ └── projectSettings.js
├── node_modules
├── resources
│ ├── fonts
│ │ ├── fomantic-ui.woff
│ │ ├── icons.woff
│ │ ├── old
│ │ │ ├── vexcode-tools.svg
│ │ │ ├── vexcode-tools.ttf
│ │ │ └── vexcode-tools.woff
│ │ ├── seti.woff
│ │ ├── vexcode-tools.woff
│ │ └── vexicon.woff
│ ├── icons
│ │ ├── cpp-logo.png
│ │ ├── expcpp.png
│ │ ├── exppython.png
│ │ ├── iqcpp.png
│ │ ├── iqpython.png
│ │ ├── python-logo.png
│ │ ├── v5cpp.png
│ │ ├── v5python.png
│ │ ├── vex.svg
│ │ ├── vexcodeEXP.png
│ │ ├── vexcodeIQ2.png
│ │ ├── vexcodeIQGEN2.png
│ │ ├── vexcodeTools_sideBar.png
│ │ ├── vexcodeV5.png
│ │ └── vexrobotics.png
│ ├── md
│ │ ├── EXP CPP
│ │ ├── EXP Python
│ ├── templates
│ │ ├── mk
│ │ │ ├── EXP
│ │ │ │ └── mkenv_2022_06_26_01.mk
│ │ │ ├── IQ2
│ │ │ │ └── mkenv_2022_06_26_01.mk
│ │ │ └── V5
│ │ │ └── mkenv_2022_06_26_01.mk
│ │ ├── projects
│ │ │ ├── EXP
│ │ │ │ ├── cpp_exp_vsc_clawbot_controller_tank.zip
│ │ │ │ ├── cpp_exp_vsc_drivetrain_sensing.zip
│ │ │ │ ├── cpp_exp_vsc_empty.zip
│ │ │ │ ├── cpp_exp_vsc_right_arcade_control.zip
│ │ │ │ ├── cpp_exp_vsc_split_arcade_control.zip
│ │ │ │ ├── cpp_exp_vsc_using_threads.zip
│ │ │ │ ├── py_exp_vsc_clawbot.zip
│ │ │ │ ├── py_exp_vsc_clawbot_controller_tank.zip
│ │ │ │ ├── py_exp_vsc_drivetrain_sensing.zip
│ │ │ │ ├── py_exp_vsc_empty.zip
│ │ │ │ ├── py_exp_vsc_limit_bumper_sensing.zip
│ │ │ │ ├── py_exp_vsc_right_arcade_control.zip
│ │ │ │ ├── py_exp_vsc_split_arcade_control.zip
│ │ │ │ └── py_exp_vsc_using_threads.zip
│ │ │ ├── IQ2
│ │ │ │ ├── cpp_iq2_vsc_basebot_with_sensors.zip
│ │ │ │ ├── cpp_iq2_vsc_clawbot_controller.zip
│ │ │ │ ├── cpp_iq2_vsc_empty.zip
│ │ │ │ ├── cpp_iq2_vsc_herobot_fling_controller.zip
│ │ │ │ ├── cpp_iq2_vsc_pltw_chassis.zip
│ │ │ │ ├── cpp_iq2_vsc_split_arcade.zip
│ │ │ │ ├── cpp_iq2_vsc_thread_example.zip
│ │ │ │ ├── py_iq2_vsc_basebot_with_sensors.zip
│ │ │ │ ├── py_iq2_vsc_clawbot.zip
│ │ │ │ ├── py_iq2_vsc_empty.zip
│ │ │ │ ├── py_iq2_vsc_herobot_fling_with_controller.zip
│ │ │ │ ├── py_iq2_vsc_pltw_chassis.zip
│ │ │ │ ├── py_iq2_vsc_split_arcade.zip
│ │ │ │ └── py_iq2_vsc_thread_example.zip
│ │ │ └── V5
│ │ │ ├── 2D_Arrays.zip
│ │ │ ├── 3-wire_expander.zip
│ │ │ ├── Accurate_Turns.zip
│ │ │ ├── Accurate_turns_inert.zip
│ │ │ ├── Adjusting_Speed.zip
│ │ │ ├── ArmDisplayPosition.zip
│ │ │ ├── ArmInstall.zip
│ │ │ ├── ArmJogging.zip
│ │ │ ├── ArmManualMovement.zip
│ │ │ ├── ArmMastering.zip
│ │ │ ├── ArmUIPanel.zip
│ │ │ ├── ArmWorkcellNoSensors.zip
│ │ │ ├── ArmWorkcellSensors.zip
│ │ │ ├── Claw_4drive_Nogyro_temp.zip
│ │ │ ├── Claw_4drive_gyro_temp.zip
│ │ │ ├── Claw_And_Arm.zip
│ │ │ ├── Claw_Drive_Temp.zip
│ │ │ ├── Claw_Motor_Temp.zip
│ │ │ ├── Clawbot_Competition.zip
│ │ │ ├── Clawbot_Control.zip
│ │ │ ├── Comparing_Values.zip
│ │ │ ├── Competition_Template.zip
│ │ │ ├── Controller_Buttons.zip
│ │ │ ├── Create_Start_Button.zip
│ │ │ ├── Detect_Collisions.zip
│ │ │ ├── Detecting_Distances.zip
│ │ │ ├── Detecting_Light.zip
│ │ │ ├── Detecting_Objects.zip
│ │ │ ├── Detecting_Walls.zip
│ │ │ ├── DigitalInSensing.zip
│ │ │ ├── DigitalOutSensing.zip
│ │ │ ├── Distance_Sensing.zip
│ │ │ ├── Drawing_Shapes.zip
│ │ │ ├── DriveLocationKnown.zip
│ │ │ ├── DriveLocationTangent.zip
│ │ │ ├── DriveLocationUnknown.zip
│ │ │ ├── Drive_Temp_Nogyro.zip
│ │ │ ├── Drivetrain_With_Vars.zip
│ │ │ ├── Electromagnet_Actions.zip
│ │ │ ├── Floor_Sweeper.zip
│ │ │ ├── Functions_NoReturn.zip
│ │ │ ├── Functions_Returns.zip
│ │ │ ├── Inertial_printing_demo.zip
│ │ │ ├── Left_Arcade.zip
│ │ │ ├── Limiting_Movement.zip
│ │ │ ├── Line_Tracking.zip
│ │ │ ├── Making_Decisions.zip
│ │ │ ├── Moving_Backwards_In.zip
│ │ │ ├── Moving_Backwards_Mm.zip
│ │ │ ├── Moving_Forward_In.zip
│ │ │ ├── Moving_Forward_Mm.zip
│ │ │ ├── Multitasking_Tasks.zip
│ │ │ ├── Multithreading_Threads.zip
│ │ │ ├── Optical_Sensing.zip
│ │ │ ├── Positioning_Servos.zip
│ │ │ ├── Printing_Text.zip
│ │ │ ├── Reading_Angles.zip
│ │ │ ├── Repeating_ActionClaw.zip
│ │ │ ├── Repeating_ActionNoGy.zip
│ │ │ ├── Repeating_Actions.zip
│ │ │ ├── Right_Arcade.zip
│ │ │ ├── Rotation_Sensing.zip
│ │ │ ├── SDV_Drivetrain.zip
│ │ │ ├── SDV_Motors.zip
│ │ │ ├── Speed_bot_fourDT.zip
│ │ │ ├── Speedbot4DT.zip
│ │ │ ├── Speedbot_DT_NoGyro.zip
│ │ │ ├── Speedbot_Motors.zip
│ │ │ ├── Split_Arcade.zip
│ │ │ ├── Tank_Drive.zip
│ │ │ ├── Turn_Left_Degrees.zip
│ │ │ ├── Turn_Right_Degrees.zip
│ │ │ ├── Using_393s.zip
│ │ │ ├── Using_LEDS.zip
│ │ │ ├── Using_Quad_Encoders.zip
│ │ │ ├── Using_The_Arm.zip
│ │ │ ├── Using_The_Claw.zip
│ │ │ ├── cpp_v5_vsc_clawbot_controller_tank.zip
│ │ │ ├── cpp_v5_vsc_competition_template.zip
│ │ │ ├── cpp_v5_vsc_drive_to_location_gps.zip
│ │ │ ├── cpp_v5_vsc_drivetrain_sensing.zip
│ │ │ ├── cpp_v5_vsc_empty.zip
│ │ │ ├── cpp_v5_vsc_limit_bumper_sensing.zip
│ │ │ ├── cpp_v5_vsc_right_arcade_control.zip
│ │ │ ├── index.json
│ │ │ ├── py_v5_vsc_clawbot.zip
│ │ │ ├── py_v5_vsc_clawbot_controller_tank.zip
│ │ │ ├── py_v5_vsc_drive_to_location_gps.zip
│ │ │ ├── py_v5_vsc_drivetrain_sensing.zip
│ │ │ ├── py_v5_vsc_empty.zip
│ │ │ ├── py_v5_vsc_limit_bumper_sensing.zip
│ │ │ ├── py_v5_vsc_right_arcade_control.zip
│ │ │ ├── py_v5_vsc_split_arcade_control.zip
│ │ │ └── py_v5_vsc_using_threads.zip
│ │ └── settings
│ │ ├── c_cpp_properties.json
│ │ ├── settings.json
│ │ └── vex_project_settings.json
│ ├── tools
│ │ └── vexcom
│ │ ├── linux-arm32
│ │ │ └── vexcom
│ │ ├── linux-arm64
│ │ │ └── vexcom
│ │ ├── linux-x64
│ │ │ └── vexcom
│ │ ├── osx
│ │ │ ├── libusb-1.0.0.dylib
│ │ │ └── vexcom
│ │ └── win32
│ │ ├── libcurl.dll
│ │ ├── libusb-1.0.dll
│ │ └── vexcom.exe
│ └── webviews
│ ├── libs
│ │ ├── highlightjs
│ │ │ └── highlight.min.js
│ │ └── jquery
│ │ ├── jquery.js
│ │ ├── jquery.min.js
│ │ ├── jquery.slim.js
│ │ └── jquery.slim.min.js
│ └── style
│ ├── cpp-dark.css
│ ├── highlight.css
│ ├── homeView.css
│ ├── main.css
│ ├── markdown.css
│ ├── projectSettings.css
│ ├── reset.css
│ └── vscode.css
└── vex_project_settings.schema.json
VEX Toolchain
The VEX toolchain is installed at the following locations.
%homedrive%%homepath%/AppData/Roaming/Code/User/globalStorage/vexrobotics.vexcode
(Windows)~/Library/Application Support/Code/User/globalStorage/vexrobotics.vexcode
(Mac)
.
├── buildText
├── sdk
│ ├── cpp
│ └── python
│ └── EXP
│ └── EXP_1_0_0_8
│ ├── manifest.json
│ └── vexexp
│ ├── stubs
│ │ └── vex.py
│ └── vm
│ └── python_vm.bin
├── tools
│ └── cpp
│ └── toolchain_osxarm64
│ ├── clang
│ │ └── bin
│ │ └── clang
│ ├── gcc
│ │ └── bin
│ │ ├── arm-none-eabi-ar
│ │ ├── arm-none-eabi-ld
│ │ ├── arm-none-eabi-objcopy
│ │ └── arm-none-eabi-size
│ └── tools
│ └── bin
│ └── make
└── vexos
├── EXP
│ └── VEXOS_EXP_1_0_2_0.vexos
├── IQ2
│ └── VEXOS_IQ2_1_0_6_0.vexos
└── V5
└── VEXOS_V5_1_1_2_0.vexos
22 directories, 12 files
Specifications
This documentation here is for the EXP Brain with the following specifications.
VEXos: 1.0.2.0
Python: 1.0.0.8
The Python available on the EXP Brain is not normal Python but MicroPython. When connected to the EXP Brain, the following information is displayed.
MicroPython v1.13-312-ga57027e09-dirty on 2022-08-10
Vex EXP with Cortex M7