Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>dForgeNew to Visual Studio Code? Get it now.
dForge

dForge

dForge

|
11 installs
| (0) | Free
Authoring support for dForge modules: DSL syntax highlighting, JSON schema validation, module tree sidebar, and one-click pack/install/scaffold commands wrapping the dforge-cli.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

dForge for VS Code

Authoring support for dForge modules — a metadata-driven, multi-tenant business application platform.

This extension turns VS Code into a first-class dForge module editor: every file you create or edit is validated against the live platform schemas, the sidebar surfaces the module structure at a glance, and one-click commands wrap the dforge-cli so you never leave the editor to pack, install, or scaffold.

Features

Module sidebar

A dedicated dForge activity-bar view groups every module file by its semantic role — Entities, Data views, Folders, Menus, Roles, Actions, Triggers, Scheduled jobs, Webhooks, Reports, Queries, Print templates, Seed data, Settings, Translations. Click any node to open the underlying file. Right-click a module to Pack, Install to tenant, Validate, or reveal the module root in the OS file manager.

Inline JSON schema validation

Every dForge file pattern is auto-bound to its schema via contributes.jsonValidation — no .vscode/settings.json setup, no manual $schema references in your files. Errors surface as red squigglies as you type:

File pattern Schema
manifest.json Module manifest (code, version, dependencies, tags, kind, …)
entities/*.json Entity definition (columns, traits, formulas, number sequences)
ui/data_views.json Grid / list / card / form views
ui/folders.json Folder tree with row-level security filters
ui/menus.json Nested menu structure
ui/reports.json Reports with parameter definitions
ui/print_templates.json Print template registry
security/roles.json Role definitions and rights matrix
logic/jobs.json Scheduled jobs (cron + action)
logic/triggers.json Entity triggers (insert / update / delete / status change)
logic/webhooks.json Webhook subscriptions
seed-data/*.json Seed data files
settings.json Module settings declarations

The bundled dForge: Validate Module command runs the same schemas across every file in your module (not just the open editors) and routes errors to the Problems panel.

DSL syntax highlighting

First-class TextMate grammar for *.dsl files (the dForge action DSL — a JS ES5 subset executed via Jint):

  • Block labels (params:, canExecute:, onBeforeStart:, execute:)
  • Param declarations (name: text required "desc", name: ref entity required)
  • Bracket field access ([fieldName]), param access (params[name])
  • All 30 built-in functions (query, insert, notify, error, nextNumber, exit, …)
  • records global, JS keywords, strings, numbers, operators, comments

Smart CLI integration

Commands shell out to @dforge-core/dforge-cli. The extension auto-detects a globally-installed dforge-cli on PATH and uses it; otherwise it falls back to npx -y @dforge-core/dforge-cli (downloads once, cached by npm afterwards). Run dForge: Install CLI Globally from the command palette to skip the first-run download.

Commands

All commands are prefixed dForge: in the command palette.

Command What it does
Scaffold New Module… Interactive wizard via dforge-cli init module — prompts for code, displayName, entities, traits, preset
Pack Module Builds a .dforge zip from the right-clicked module
Install Module to Tenant… Pushes the module to a running dForge tenant. Picks from dforge.tenants (or falls back to dforge.tenantUrl / prompt).
Sign In to Tenant… Opens the browser to a tenant's login page and stores the session in the CLI. Run once per tenant before installing — the CLI remembers you.
Sign Out from Tenant… Clears the CLI's stored session for a tenant.
Show Signed-In User… Displays which account is currently signed in for a tenant.
Validate Module (schemas) Runs schema validation across every file in the module; results go to the Problems panel
Reveal Module Root Opens the module's root folder in the OS file manager
Install CLI Globally One-time npm install -g @dforge-core/dforge-cli so commands skip the npx download
Refresh Re-scans the workspace for manifest.json files

Configuration

Setting Default Description
dforge.cliPath npx -y @dforge-core/dforge-cli Command used to invoke the CLI. Auto-prefers a globally-installed dforge-cli when one is on PATH.
dforge.tenantUrl "" Default DFORGE_URL for Install Module to Tenant. Empty = prompt every time.
dforge.validateOnSave false Run full-module schema validation whenever any module file is saved. Off by default — the inline LSP validation is usually enough.

Quick start

  1. Install the extension.
  2. Open a folder containing one or more manifest.json files — the dForge sidebar lights up.
  3. Either:
    • Scaffold a fresh module: Click + in the sidebar header → dForge: Scaffold New Module…
    • Edit an existing one: Files validate as you type; errors appear inline.
  4. Pack and install: Right-click the module in the sidebar → Install Module to Tenant…

Requirements

  • VS Code 1.85 or newer.
  • Node.js 18+ if using the default npx-based CLI. Skipped entirely if you install @dforge-core/dforge-cli globally.
  • A running dForge tenant for Install Module to Tenant (the dForge platform itself runs in Docker — see dForge-core for setup).

Local Development

There are two useful local development modes for this extension.

1. Full extension runtime

Use this when you need the real VS Code integration: module tree, context menus, commands, and the actual extension-host webview behavior.

  1. Open this folder in VS Code:
    • C:\Ed\dforge-editor-support\vscode
  2. Build once:
    npm run dev:build
    
    Or keep it rebuilding in the background:
    npm run dev:watch
    
  3. Press F5.

This launches an Extension Development Host window and opens C:\Ed\dForge-core as the test workspace. After code changes, use Developer: Reload Window in that host window.

2. Fast UI preview

Use this when you only want to inspect the Module Workbench layout, styling, and translations UI without opening an Extension Development Host.

Run:

npm run preview:workbench

This generates:

  • tmp/workbench-preview.html

By default the preview uses real module data from:

  • C:\Ed\dForge-core\modules\crm

This preview is intended for visual iteration. It does not replace the full extension runtime for command handling, tree integration, or other VS Code host behavior.

How it stays in sync

JSON schemas are vendored from the @dforge-core/dforge-mcp npm package at package time, so every release of this extension ships the schemas that were current when it was built. Schemas in the MCP package are mirrored from the canonical docs/schemas/ directory in dForge-core.

Links

  • dForge platform: https://github.com/iash44/dForge-core
  • Module conventions: docs/modules/MODULE_CONVENTIONS.md
  • CLI on npm: @dforge-core/dforge-cli
  • MCP server (for AI-driven authoring): @dforge-core/dforge-mcp
  • Issues / feedback: https://github.com/dforge-core/dforge-editor-support/issues

License

MIT — see LICENSE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft