Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>CPQ-BMLNew to Visual Studio Code? Get it now.
CPQ-BML

CPQ-BML

Vikram N

|
29 installs
| (0) | Free
CPQ-BML adds syntax highlighting and reusable code snippets for BigMachines Language (BML) used in CPQ Cloud.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CPQ-BML VS Code Extension

A high-performance, feature-rich development environment for Oracle CPQ BigMachines Language (BML). Built for CPQ developers, architects, and AI pair-programmers.

Marketplace Link Latest Release License

Install from Marketplace Download VSIX


⚡ Quick Start: Key Capabilities & Documentation

For complete architectural blueprints, Control Flow Graphs (CFGs), and code examples, explore our Knowledge Base:

Feature Area Description Deep Dive Guide
🔍 Cloud Property Inspector Dedicated React 19 + Pure CSS inspector panel for Actions, Attributes, Integrations, Transactions, and Parts. Fast search, cursor code injection, and read-only virtual JSON docs (cpq-cloud://) preventing dirty unsaved buffers. Cloud Inspector Guide
🕸 Visual Dependency & Blast Radius Graph Full-topology interactive dependency visualizer powered by Cytoscape.js and React 19. Traces caller/callee trees and calculates blast radius impact across BML libraries, commerce actions, and rules. Advanced Architectures
💡 IntelliSense & Autocomplete Workspace util library suggestions (util.pricing.), BMQL $var dynamic completion, parameter signatures, Call Hierarchy (Shift+Alt+H), and F12 Go to Definition. IntelliSense Guide
🛠 BML Beautifier & Formatter Deterministic 4-stage formatting, brace styles (collapse/expand), minimal range diffing, on-type formatting, and .bmlbeautifyrc. Beautifier Guide
🔍 Real-Time Security & Linter Real-time squiggles and Alt+Enter Quick-Fixes for BMQL injection risks, queries in loops, unbounded while loops, and type validation. Linter Guide
⚡ BML Logic Scratchpad Offline interactive sandbox to test pure BML algorithms (math, string manipulation, dates, dict, json) and view print logs instantly. Scratchpad
🤖 Model Context Protocol (MCP) Seamless multi-client MCP auto-registration for Cursor, Copilot, Google Antigravity, Claude Desktop, and ChatGPT. MCP Server Guide
☁ Safe Cloud Sync & 3-Way Diff OAuth2/Basic Auth client, side-by-side diff review on pull conflicts, and live debug streaming to CPQ DevKit Terminal. REST API Guide
🏗 BML & BMQL Scaffolding Explorer context scaffolding for library functions with docHeaders and -meta.json sidecars, plus parameterized BMQL queries. Scaffolding
🚦 CI/CD Security Audit Workspace-wide BML security and quality audit via MCP audit_bml_code tool — detects BMQL injection risks, queries in loops, and failing quality scores. Linter Guide
⚙ Interactive Settings Panel Webview UI dashboard for managing environments, credentials, formatter options, MCP traffic inspection, and diagnostics. Settings Panel Guide
🔤 Smart Spell Checker Morphological inflection analyzer and domain dictionary designed for BML identifiers and comments. Spell Check Guide
📄 XSLT & XML Subsystem Document Engine XSL template formatting, XPath 1.0 autocompletion, and BML transformxml() integration. XSLT Guide
📊 Code Quality & Metrics McCabe Cyclomatic Complexity, Halstead Software Science, Maintainability Index (MI), and visual dashboard. Metrics Guide

⌨ Key Shortcuts & Common Commands

Action Shortcut (Windows/Linux) Shortcut (macOS) Command Palette (Ctrl/Cmd+Shift+P)
Format Document Shift+Alt+F Shift+Option+F Format Document
Call Hierarchy Shift+Alt+H Shift+Option+H Show Call Hierarchy
Go to Definition F12 F12 Go to Definition
Find All References Shift+F12 Shift+F12 Find All References
Quick Fix / Lightbulb Ctrl+. Cmd+. Quick Fix...
Architecture & Blast Radius Graph - - CPQ-BML: Open Architecture & Blast Radius Dependency Graph
Inspect Cloud Component - - CPQ-BML: Inspect Component / Action / Attribute
Open BML Scratchpad - - CPQ-BML: Open BML Logic Scratchpad (Offline Sandbox)
Run BML Script Locally - - CPQ-BML: Run BML Script Locally (Scratchpad)
Scaffold Library Function - - CPQ-BML: Scaffold New Library Function (with -meta.json sidecar)
Scaffold BMQL Query - - CPQ-BML: Scaffold Parameterized BMQL Query
Switch Environment - - CPQ-BML: Switch Active CPQ Environment
Export Team Profiles - - CPQ-BML: Export Team Profiles (cpq/profiles.json)
Open Settings Panel - - CPQ-BML: Open Settings
Show Code Metrics - - BML: Show Code Metrics
Pull Function from CPQ - - CPQ: Pull Function
Debug Function Remotely - - CPQ: Debug Function
Deploy Function - - CPQ: Deploy Current Util Function to CPQ

⚙ Configuration Setup

Configure your CPQ environments in .env (workspace root) or through the Settings Panel (CPQ-BML: Open Settings):

# Oracle CPQ Cloud Environment Setup (.env)
CPQ_SITE_URL=https://sitename.oracle.com
CPQ_USERNAME=api_developer
CPQ_PASSWORD=YourPasswordHere!
CPQ_AUTH_METHOD=basic
CPQ_REST_VERSION=v17
CPQ_COMMERCE_PROCESS=oraclecpqo
CPQ_COMMERCE_DOCUMENT=transaction

To customize formatting options across your project, create a .bmlbeautifyrc file:

{
  "indent_size": 4,
  "brace_style": "collapse",
  "space_before_conditional": true,
  "preserve_newlines": true,
  "max_preserve_newlines": 2,
  "uppercase_reserved_words": true
}

💻 Local Development & Contributions

# Clone the repository
git clone https://github.com/vikram-vn/cpq-bml.git
cd cpq-bml

# Install dependencies
npm install

# Compile the extension bundle
npm run compile

Press F5 in VS Code to launch the Extension Development Host.

📐 Architectural & Code Quality Standards

  • File Length Constraint: No JavaScript file in the codebase may exceed 500 lines of code. Enforced via node scripts/check-rules.js.
  • Module Aliasing: All internal requires in app/ use @/ alias resolution via scripts/register-alias.js. Direct relative paths (./ or ../) are strictly prohibited.
  • Webview Tech Stack: All webview user interfaces (Inspector, Architecture Graph, Settings Panel) are built exclusively in React 19 and Pure CSS, compiled via esbuild. No raw CSS strings in JS.

📄 License & Disclaimer

  • License: Licensed under the MIT License.
  • Disclaimer: This extension is an independent open-source tool and is not affiliated with or endorsed by Oracle Corporation.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft