This repository contains the Visual Studio Code extension for WSO2 Integrator: SI (Streaming Integrator), along with shared libraries and components used by the extension.
The extension provides:
- IntelliSense for Siddhi applications
- Syntax highlighting for Siddhi query language
- Diagnostics and error detection
- Code snippets for common Siddhi patterns
- Graphical visualization of Siddhi applications
- Event simulation capabilities
- Build and run functionality for Siddhi apps
Before using this repository, ensure you have the following installed:
-
Node.js – version 20.x or later
Download Node.js -
npm – version 10.x or later (comes with Node.js)
-
pnpm – version 10.10 or later
Install with:npm install -g pnpm
-
Rush.js – version 5.153 or later
Install with:npm install -g @microsoft/rush
Install all dependencies for the repository:
rush install
This will install dependencies for all workspaces in the monorepo.
To build all packages:
rush build
This uses a local build cache, so only changed packages are rebuilt.
To build a specific package:
rush build --to <package-name>
Available packages:
si
- Main VSCode extension@wso2/ui-toolkit
- Shared UI components@wso2/font-wso2-vscode
- WSO2 icon font for VSCode
Example:
rush build
For development, you can run the extension in watch mode:
cd workspaces/si/si-extension
npm run watch
- Open this repository in VSCode
- Press
F5
to launch a new Extension Development Host window - Open a
.siddhi
file to test the extension features
- Syntax highlighting for Siddhi query language
- Code completion and IntelliSense
- Error diagnostics and validation
- Code snippets for common patterns
- Graphical view of Siddhi applications
- Interactive flow diagrams
- Real-time event simulation
- Build and run Siddhi applications
- Integration with WSO2 Streaming Integrator server
- Extension installer for Siddhi extensions
rush update
: Updates the dependencies shrinkwrap file.rush rebuild
: Cleans thecommon/temp
folder and then runsrush build
.rush check
: Checks dependency consistency across packages.rush purge
: Cleans up temporary files and folders.
If you are planning on contributing to the development of the WSO2 Integrator: SI VSCode extension:
- Fork the repository before making changes
- Follow the structure and conventions outlined in this document
- Test your changes thoroughly using the Extension Development Host
- Submit pull requests with clear descriptions and reference related issues if applicable
By downloading and using the WSO2 Integrator: SI VSCode extension, you agree to the Apache License 2.0.
The extension integrates with the WSO2 Streaming Integrator server and Siddhi language runtime, which are also licensed under Apache License 2.0.