Visual Studio Code Extension
This page contains information about an extension for Visual Studio Code that can be installed and used to develop exercise definitions for the Inject Exercise Platform (IXP). Visual Studio Code is an enhanced text editor featuring extensive language support, along with options for extensions that can add additional support for specific languages and settings files, such as exercise definitions. The extension provides syntax checking and multiple commands to enhance your design experience and minimize the number of mistakes made during exercise definition editing.
Known issues
- All the VSC extension features might not work correctly on Windows 11 (build 26200.7705).
- Role based exercises are not supported.
- All the features are compatible only with the latest version of the IXP platform. Compatibility with older versions of the IXP is not guaranteed.
- Using commands that interact with IXP are prone to networking errors, if the command fails, try to run it again.
Features
- Multiple templates (snippets) for parts of the exercise definition:
full-config
basic-email
template-email
info-inject
email-inject
time-inject
confirmation-inject
objective
activity
questionnaire
q-radio
q-multiple-choice
q-free-form
q-auto-free-form
basic-tool
multi-tool
- Instant syntax check for definition version 0.24.7.
- Upgrade of definition syntax from version 0.18.1 to 0.24.7 - the upgrade also works from any intermediate version.
- Ignoring of hidden files during definition zipping.
- Support for repository-like definition structure (multiple subdirectories).
- Validates definition through deployed instance of IXP in version 5.0.X.
- Removes previously stored credentials and URL for IXP instance.
- Run Test Environment and Stop Test Environment buttons for testing an exercise definition on the IXP instance.
- Automatic quotes removal on YAML file open.
- Automatic formating of exercise definitions.
- Upload exercise definition into IXP platform
- Download public exercise definitions from the INJECT team.
Commands
Command: Create New Definition Folder:
- Creates a new definition folder with the selected name and prepopulated files like
config.yml and channels.yml.
Command: Zip Definition:
- Zips selected definition to be uploaded to IXP.
Command: Upgrade Definition 0.18.1 to 0.24.7:
- Removes unnecessary quotes in all YAML files.
- Upgrades definition from version 0.18.1 (Citadel) to 0.24.7 (Enigma)
Command: Validate Definition:
- Validates definition through the deployed instance of IXP.
Command: Delete Saved IXP Credentials:
- Removes stored credentials and URL for the IXP instance used for validation.
Command: Run Test Environment:
- Creates exercise definition test environment on an instance of IXP - uploads definition, creates exercise with one team, starts the exercise.
Command: Stop and Clean Test Environment:
- Stops test environment - stops the exercise, deletes the exercises, and deletes the exercise definition.
Command: Upload Definition:
- Uploads definition into IXP using credentials.
Command: Load Exercise Definitions from Definition Registry:
Keybindings
- Zip command - Windows:
Ctrl + Alt + g, MacOS: Control + Option + g
- Open command palette - Windows:
Ctrl + Shift + p, MacOS: Command + Shift + p
Dependencies
ext install redhat.vscode-yaml
References
License
MIT license