RevoEngine for VS Code

RevoEngine for VS Code lets you work with RevoEngine low-code components from a local workspace. It uses the revo CLI for authentication, project setup, pull, push, and debug operations, while the extension provides VS Code views for workspace status, component navigation, search, local change review, and debugger runs.
Requirements
- VS Code 1.90 or newer
- Node.js 20 or newer
- RevoEngine CLI 1.0.1 or newer available as
revo
- A trusted VS Code workspace
Install the CLI if it is not already available on your PATH:
npm install -g @revoengine/cli@latest
The CLI is intentionally a prerequisite. The extension checks whether it is installed and provides a copyable install command, but it does not silently install global binaries during extension installation.
If your CLI is installed in a custom location, set RevoEngine: Cli Path to the absolute binary path.
Getting Started
Install the RevoEngine CLI:
npm install -g @revoengine/cli@latest
Open a RevoEngine project folder in VS Code.
Trust the workspace when VS Code asks. RevoEngine is disabled in Restricted Mode because it runs the local CLI and reads or writes project files.
Open the RevoEngine activity bar view.
Use the Workspace view to verify extension version, CLI availability, authentication, workspace metadata, editor types, and compiler config status.
If the CLI is not authenticated, run RevoEngine: Authenticate CLI or select Authenticate Revo CLI in the Workspace view. The CLI asks for the API key only.
If the workspace is not initialized, run RevoEngine: Initialize Workspace or select Initialize workspace in the Workspace view. The extension asks for the RevoEngine workspace directory, then passes it to revo project init.
Refresh obsolete editor typings with RevoEngine: Refresh Editor Types in the Workspace view. For nested workspaces, the extension passes the selected directory to revo project update.
Pull components from the Components view with Pull all components.
The extension expects initialized workspaces to contain .revoengine/revo.json. Debug files, editor types, and local baselines are also stored under the resolved workspace .revoengine/.
For monorepos, use RevoEngine: Set Workspace Directory from the Workspace view to persist a relative workspace directory such as backend in .revoengine/vscode.json:
{
"workspaceDirectory": "backend"
}
The extension reads root .revoengine/vscode.json.workspaceDirectory first, falls back to root .revoengine/revo.json.workspace, and otherwise treats the opened project folder as the workspace. Local component discovery, search, change review, debug files, editor types, metadata, and baselines use that resolved folder. CLI pull, push, and debug commands still run from the RevoEngine project root. Project init and editor-type refresh pass the resolved workspace as an explicit CLI path argument.
Views
Workspace
The Workspace view shows whether the current folder is ready for RevoEngine work. It checks:
- extension version
- CLI availability and version
- CLI authentication state
- workspace initialization through the resolved workspace
.revoengine/revo.json
- workspace directory selection from
.revoengine/vscode.json with .revoengine/revo.json.workspace fallback
- editor typings at the resolved workspace
.revoengine/types/revo.editor.d.ts
tsconfig.json or jsconfig.json inclusion of the RevoEngine editor types
Authentication and project initialization open interactive revo CLI commands in the VS Code terminal. The extension does not reimplement those flows. API-key auth no longer requires an instance ID; older instance-keyed CLI config is migrated by the CLI.
Non-interactive CLI calls from the extension set REVO_NO_UPDATE_NOTIFIER=1 so the CLI's npm update notice does not pollute parsed output or progress messages.
Search
The Search view searches local components by name, component ID, category, type, description, element name, element file name, and element file path.
Search results can open the matching local file or select the component in the Debugger view.
Components
The Components view lists local components under Components/, grouped by category. Uncategorized components are shown as Uncategorized and are stored on disk under Components/__no_category__/.
From this view you can:
- pull all components from RevoEngine
- pull a single component
- push a single changed component
- push all changed components
- compare local changes against the last synced baseline
- discard local changes back to the last synced baseline
- add a new element to a component
- drag an element within the same component to reorder it
- reveal an element file in the operating system file browser
- expand or collapse component and changed-component groups
After successful pull or push operations, the extension refreshes the component tree and updates its local baseline snapshot.
Debugger
The Debugger view runs revo component debug for a selected component or a playground component. It creates and uses these files in .revoengine/:
debug_input.json for the JSON payload sent to the debug command
debug_code.js and debug_code.ts for component debug helpers
playground_code.js and playground_code.ts for JavaScript or TypeScript playground runs
debug.json for debugger memory, timeout, and production-mode settings
The debugger view displays structured output from the CLI, including logs, warnings, errors, result data, timing, library timing, and memory values when the CLI provides them.
Production mode runs debug in an isolated temporary workspace. It does not patch the original component file.
Local Changes And Baselines
The extension stores the last synced component snapshot under .revoengine/baselines/. That baseline powers the Changed section in the Components view.
Use compare actions to review local changes before deploying. Use discard actions only when you want to restore local files to the last synced baseline. Discarding a newly added local component removes its local component folder.
Extension Updates
On activation, the extension can check the VS Code Marketplace for a newer revoengine.revoengine version. When a newer version exists, it shows a notification with an Open Marketplace action and a per-version dismiss option.
Settings
All settings are under RevoEngine.
| Setting |
Default |
Use when |
revoengine.cliPath |
revo |
The CLI is not on PATH, or you want to pin the extension to a specific CLI binary. Use a binary name or absolute path. |
revoengine.cliCwd |
empty |
You want to override the RevoEngine project root that owns .revoengine/revo.json. Prefer RevoEngine: Set Workspace Directory for monorepos where .revoengine/vscode.json should select a nested backend workspace such as backend. |
revoengine.autoRefreshAfterPull |
true |
You want the Components tree to reload automatically after a successful pull. Disable only for manual debugging of sync state. |
revoengine.autoPullWhenEmpty |
false |
You explicitly want an initialized, authenticated, empty local workspace to bootstrap itself by running revo component pull --all --force. |
revoengine.autoFormatJsonOnOpen |
true |
You want RevoEngine-managed JS, TS, and JSON files formatted on open using the active VS Code formatter. |
revoengine.checkMarketplaceUpdates |
true |
You want the extension to notify users when a newer VS Code Marketplace version is available. |
revoengine.lifecycleLogLevel |
off |
You need diagnostics in the RevoEngine output channel. Values: off, basic, verbose. |
revoengine.revealOutputOnLifecycleLogging |
false |
You want the RevoEngine output channel to open automatically when lifecycle logging is enabled. |