This repository contains the WPILib VS Code extension.
- Node JS - Tested with Node 22.
- Java - Tested with Java 21
- VS Code - For development/debugging.
- TS Lint Extension
- Chrome Debug Extension
- In order to debug the extension, you will need the extension dependencies for the extension. The Microsoft C++ extension and the Java extension pack.
In order to properly build, there is some setup that needs to occur.
- Go into
vscode-wpiliband runnpm install - From the root, run
./gradlew build. This will grab the templates and examples from WPILib, copy them into the vscode extension. This command will need to be reran any time you update the shared dependencies in the vscode project. - Open the root folder in VS Code.
Once you have the project open in VS Code, there are 5 debugging targets set up.
ExtensionWill launch the extension to debugExtension TestsWill launch the extension tests
In addition, vscode-wpilib has a compile and a lint npm command. This will compile and lint the project's files. Please run these commands before submitting a PR!
Note: VSCode's built-in linter will not detect all linters used in this project, and npm run compile and npm run lint should be used instead.
We highly recommend you do any testing by launching in the debugger. Unlike Eclipse, local building is not required to update WPILib versions, so building files to install is not exactly a simple setup. We will be posting instructions for this later, but not currently.
Because of limitiations in typescript, we cannot easily have a shared library that works in both the vscode extension and the standalone utility. Because VS Code is the primary platform, the files are stored in that folder. Anything in the following folder is considered shared.
vscode-wpilib/sharedvscode-wpilib/riolog/sharedIn these, any updates from the the standalone project will not be see in the vscode project, nor will they get committed to git. Please edit these files in the VS Code extension to apply changes.