Disclaimer: This extension is an individual contribution to help OneStream consultants based on personal experience with code optimization. It has no affiliation with OneStream Software LLC.
A VS Code extension built to help OneStream consultants write better code, manage workspace objects with Git, and streamline their development workflow. Every tool in this extension is designed around one goal: improving code quality and performance.
Code Quality Studio
The core of this extension. A comprehensive static code analyzer with 100+ rule checks purpose-built for OneStream business rules.
Code Quality Studio powers analysis across the entire extension — from standalone rule analysis to live environment scanning, sidebar quick checks, and AI-assisted code reviews.
- Analysis Sources: Analyze from XML/ZIP files, VS Code workspace folders, or directly from a connected OneStream instance
- Rule Categories: OneStream Platform (OS), Performance (PERF), Security (SEC), Code Quality (QUAL), General Code (CODE), SQL (SQL), Positive Patterns (POS)
- Health Grades: A+ to E scoring system with detailed breakdown per rule and per category
- Excel Export: Export full findings reports with the complete rule catalog
- Comparison View: Before/after analysis to track improvements over time
- Live Analysis: Connect to a OneStream instance and analyze all business rules and assemblies in one click
AI Assistant Integration
An MCP server is included that helps AI assistants write better OneStream code. It gives tools like GitHub Copilot, Claude, Codex, Cursor, Windsurf, Cline, Roo Code, and Continue OneStream-aware guidance — code optimization suggestions powered by Code Quality Studio rules, best-practice patterns, and context about the OneStream development model — so the code they generate actually fits the platform.
GitHub Copilot works automatically with no configuration — the MCP server registers via VS Code's built-in API. For other tools, a one-time setup is needed — see AI Assistant Setup by Tool at the bottom of this page.
Business Rules Editor
Three ways to edit OneStream business rules, member formulas, and confirmation rules — pick the approach that fits your workflow.
Custom Editor
A built-in Monaco editor with OneStream-specific IntelliSense for quick edits. Load an XML or ZIP file and start editing immediately.
- OneStream API IntelliSense powered by NuGet package metadata
- Constrained editing zones for member formulas (read-only boilerplate, editable code)
- Real-time validation with compiler diagnostics
- Code quality analysis and health grades inline
- Auto-save with recovery snapshots
- 28 code snippets for common OneStream patterns
VS Code Project
Generate a full .NET project from a business rules XML. Each rule becomes a separate .cs or .vb file that you can edit with native VS Code features.
.sln with .csproj/.vbproj files and NuGet references for Roslyn IntelliSense
- Git integration — track changes to individual rules with version control
- Full VS Code extension ecosystem (formatting, linting, AI assistants)
- Round-trip export back to OneStream-compatible XML preserving all metadata
- Member formulas wrapped with compilable boilerplate so IntelliSense works out of the box
Browse and edit rules directly from the VS Code sidebar. Select an XML file in the Rule Viewer panel, navigate the rule tree, and click any rule to open it in a standard editor tab with OneStream IntelliSense.
Workspace Studio
Create, import, and manage OneStream workspace objects as local VS Code projects with full Git version control.
- New Project: Create VS Code projects for OneStream workspaces (C#/VB.NET assemblies and all workspace objects)
- Import from OneStream: Pull assemblies, dashboards, components, data adapters, parameters, business rules, and more directly from a connected instance
- Compare Workspace: Side-by-side comparison of local files with a connected OneStream environment
- Export XML: Export to OneStream-compatible format with auto-detection of project structure
- Git-friendly storage: All workspace objects stored as individual files for version control
VB.NET IntelliSense
Full IntelliSense for VB.NET files — a first for VS Code, which has no native VB.NET support. Works automatically with any project that has a .vbproj file, including Workspace Studio projects and Business Rules Editor VS Code projects.
- Auto-completions with OneStream API methods, properties, and types
- Hover information showing type details and documentation
- Go-to-definition (Ctrl+Click or F12)
- Signature help for method parameters
- Error highlighting with real-time compiler diagnostics
The language server reads your project references and resolves all NuGet packages (including OneStream APIs) to provide accurate, project-aware suggestions. No configuration needed.
Diagnostic Studio
Run diagnostic queries against OneStream via REST API:
- Execute Data Management sequences and steps
- View task activity with drill-down to step details
- Browse error logs with filtering and CSV export
- Profiler integration for OneStream 9.1+
Dimension Builder
Visual editor for dimension metadata with SQLite backend, CSV import/export, and member/relationship management.
| Panel |
Purpose |
| Rule Viewer |
Browse and edit business rules from XML files |
| Quick Check |
Fast single-file code analysis powered by Code Quality Studio |
| Snippets |
OneStream API code snippets (C#/VB.NET) |
| Advanced Tools |
Quick launcher for all tools |
Installation
Download the .vsix from the latest GitHub release, then run Extensions: Install from VSIX... in VS Code or Cursor.
Minimum requirements:
- VS Code 1.105.1+ or Cursor 3.0.12+ — the extension installs and runs on both.
- .NET 10 Runtime or later (Download) — required for Code Quality Studio, the MCP server, and VB.NET IntelliSense.
For full AI Assistant integration:
- VS Code 1.111+ is required for automatic MCP server registration with GitHub Copilot. On VS Code 1.105–1.110 the rest of the extension still works, but the MCP server won't auto-register with Copilot.
- Other AI tools (Claude Code, Claude Desktop, Codex, Cursor, Windsurf, Cline, Roo Code, Continue) each require a one-time setup — see AI Assistant Setup by Tool below.
The MCP server provides the same capabilities regardless of which AI tool you use. The only difference is how each tool discovers the server.
GitHub Copilot (VS Code)
No configuration needed. The MCP server registers automatically via VS Code's built-in API when the extension loads. Requires VS Code 1.111+.
Claude Code
Claude Code discovers MCP servers from its own config file (~/.claude.json), not through the VS Code API. The extension handles this for you:
Open VS Code with Claude Code installed. On first activation the extension detects Claude Code and shows a prompt:
"Install DevTools MCP server for Claude Code? This adds an entry to ~/.claude.json so Claude Code can use OneStream analysis and environment tools."
[Install] [Later] [Don't ask again]
Click Install. The extension writes an devtools entry into ~/.claude.json (your existing entries are preserved). Claude Code will discover the server automatically.
Manual control (command palette):
DevTools: Install DevTools MCP Server for Claude Code — run the installer on demand.
DevTools: Remove DevTools MCP Server from Claude Code — cleanly removes only the devtools entry.
Claude Desktop
Claude Desktop discovers MCP servers from its own config file (claude_desktop_config.json). The extension handles this for you:
Open VS Code with Claude Desktop installed. On first activation the extension detects Claude Desktop and shows a prompt:
"Install DevTools MCP server for Claude Desktop? This adds an entry to claude_desktop_config.json so Claude Desktop can use analysis and environment tools."
[Install] [Later] [Don't ask again]
Click Install. The extension writes a devtools entry into the config file (your existing entries are preserved). Claude Desktop will discover the server automatically.
Manual control (command palette):
DevTools: Install DevTools MCP Server for Claude Desktop — run the installer on demand.
DevTools: Remove DevTools MCP Server from Claude Desktop — cleanly removes only the devtools entry.
Codex
Codex discovers MCP servers from ~/.codex/config.toml. The extension handles this for you:
Open VS Code with Codex installed. On first activation the extension detects Codex and shows a prompt:
"Install DevTools MCP server for Codex? This adds an entry to ~/.codex/config.toml so Codex can use OneStream analysis and environment tools."
[Install] [Later] [Don't ask again]
Click Install. The extension writes an devtools entry into ~/.codex/config.toml (your existing entries are preserved). Codex will discover the server automatically.
Manual control (command palette):
DevTools: Install DevTools MCP Server for Codex — run the installer on demand.
DevTools: Remove DevTools MCP Server from Codex — cleanly removes only the devtools entry.
Cursor
Cursor uses a global ~/.cursor/mcp.json file for MCP registration. The extension handles this for you:
Open the extension in Cursor for the first time. Within a few seconds you'll see a prompt:
"Install DevTools MCP server into Cursor? This adds an entry to ~/.cursor/mcp.json so Cursor's agent can use OneStream analysis and environment tools."
[Install] [Later] [Don't ask again]
Click Install. The extension writes an devtools entry into ~/.cursor/mcp.json (your existing entries are preserved). Restart Cursor to pick up the new server.
Manual control (command palette):
DevTools: Install DevTools MCP Server for Cursor — run the installer on demand.
DevTools: Remove DevTools MCP Server from Cursor — cleanly removes only the devtools entry.
Windsurf, Cline, Roo Code, Continue
These tools each use their own config file for MCP server registration. The extension auto-detects which are installed and prompts once to register.
| Tool |
Config File |
Detection |
| Windsurf |
~/.codeium/windsurf/mcp_config.json |
Runs as Windsurf host |
| Cline |
~/Documents/Cline/MCP/cline_mcp_settings.json |
VS Code extension detected |
| Roo Code |
~/Documents/RooCode/MCP/mcp_settings.json |
VS Code extension detected |
| Continue |
~/.continue/config.json |
VS Code extension detected |
Manual control (command palette): DevTools: Install/Remove DevTools MCP Server for <Tool>
Common Details
Prompt actions (same for all tools):
- Install — writes the config entry. One-time action.
- Later — the prompt will reappear on next activation.
- Don't ask again — the prompt is silenced permanently.
Security: All config entries pass an ephemeral in-memory encryption key to the spawned MCP subprocess via the DEVTOOLS_SESSION_KEY environment variable. Your OneStream PAT is encrypted at rest (AES-256-GCM) in the session file and can only be decrypted by the MCP subprocess itself. No config file ever contains your PAT.
Auto-updates: The config entry is silently refreshed on each VS Code window launch (the encryption key rotates per session). No action needed after the initial install.
Author: Marcio Pataca
License: See LICENSE file