Installation

Installation of the VEX extension for VSC is very easy. In general, here are the steps.

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.

_images/vex-extension-search.png

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.