Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Magic SuiteNew to Visual Studio Code? Get it now.
Magic Suite

Magic Suite

Panoramic Data Limited

|
29 installs
| (1) | Free
RMScript and NCalc language support, execution, and real-time progress monitoring for Panoramic Data Magic Suite
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Magic Suite

The official Visual Studio Code extension for Panoramic Data Magic Suite. Write, run, and debug RMScript files directly from VS Code with real-time execution monitoring.

Magic Suite

Features

RMScript Language Support

  • Syntax highlighting for .rm and .rmscript files with a full TextMate grammar
  • Dark and light themes optimised for RMScript — select Magic Suite RMScript Dark or Magic Suite RMScript Light from the colour theme picker
  • Bracket matching and auto-closing for [], {}, (), quotes, and backticks
  • Comment toggling with Ctrl+/ (line comments with //)

Script Execution

  • Run RMScript files against any Magic Suite environment with a single click or Ctrl+Shift+R
  • Real-time progress monitoring via SignalR with automatic polling fallback
  • Cancel a running script at any time

ReportMagic Panel

The Magic Suite panel contains four top-level tabs: ReportMagic, Docs, NCalc 101, and Settings.

The ReportMagic tab has three sub-tabs:

  • Progress — colour-coded macro status blocks matching Report Studio's colour scheme
  • Macros — clickable list of all macros with type icons, durations, and status badges; click any macro to view its input text, output text, messages, duration, and execution result; large output values are shown truncated in the inline preview
  • Variables — inspect all variables during and after execution; toggle between raw JSON and tabular view for JObject and JArray values

Each sub-tab has its own independently resizable detail pane.

Documentation Browser

  • Article search — search Magic Suite documentation articles from within VS Code
  • Macro reference — look up macro specifications, categories, summaries, and usage examples
  • In-panel reading — view article and macro documentation content without leaving VS Code

NCalc 101

  • Expression evaluator — type and evaluate any NCalc expression interactively
  • Variable inspection — import variables from the last execution or define your own
  • Result display — shows the evaluated result value and type, or a detailed error message on failure
  • File picker — select a .ncalc file to load variables from

Merlin Chat

  • Merlin in the editor: open the Magic Suite icon in the activity bar, or run Magic Suite: Open Merlin Chat, to talk to Merlin, the Magic Suite assistant, against your active profile
  • Live progress: the steps Merlin takes, what it is thinking about and the answer so far appear while it works
  • Editor context: Merlin can ask VS Code for the active file and selection, a workspace file, a file list, the Problems list or the Git status. These are read-only and confined to your workspace; a tool that could change anything always asks you first
  • Conversations persist across VS Code restarts, per profile; Magic Suite: New Merlin Chat starts afresh

Profile & Tenant Management

  • Multiple profiles — configure connections to different Magic Suite environments (production, staging, test, etc.)
  • CLI integration — automatically detects profiles created with the Magic Suite CLI (documentation)
  • Tenant switching — SuperAdmin users can switch between tenants; regular users see their assigned tenant
  • Batch variables — load variables from a JSON file before execution

Getting Started

Prerequisites

  • A Magic Suite environment with API access
  • An API token (token name + token key) — contact your Magic Suite administrator

Step 1: Install the Extension

Install Magic Suite from the VS Code Extensions Marketplace, or install from a .vsix file:

code --install-extension magicsuite-0.1.0.vsix

Step 2: Configure Your Profile

The simplest way to get started is to create a profile using the command palette.

  1. Open the Command Palette (Ctrl+Shift+P)
  2. Run Magic Suite: Manage Profiles
  3. Select Add Profile
  4. Enter:
    • Profile name — a friendly name (e.g. production)
    • API URL — your Magic Suite API endpoint (e.g. https://api.magicsuite.net)
    • Token Name — your API token name
    • Token Key — your API token key

Alternative: Set Up via PowerShell

If you prefer to configure profiles from the command line (useful for scripting or sharing configurations), you can create the CLI configuration file directly. This is the same file used by the Magic Suite CLI tool.

For a single environment (most users):

# Set your connection details
$ProfileName = "production"
$ApiUrl      = "https://api.magicsuite.net"
$TokenName   = "your-token-name"
$TokenKey    = "your-token-key"

# Create the configuration directory
$configDir = Join-Path $env:APPDATA "Panoramic Data\MagicSuite"
New-Item -ItemType Directory -Path $configDir -Force | Out-Null

# Write the configuration file
$config = @{
    ActiveProfile       = $ProfileName
    DefaultOutputFormat  = "Json"
    VerboseLogging       = $false
    Profiles             = @{
        $ProfileName = @{
            ApiUrl    = $ApiUrl
            TokenName = $TokenName
            TokenKey  = $TokenKey
        }
    }
} | ConvertTo-Json -Depth 4

Set-Content -Path (Join-Path $configDir "cli-config.json") -Value $config -Encoding UTF8

Write-Host "Magic Suite profile '$ProfileName' configured successfully." -ForegroundColor Green
Write-Host "Configuration saved to: $(Join-Path $configDir 'cli-config.json')"

For multiple environments:

$configDir = Join-Path $env:APPDATA "Panoramic Data\MagicSuite"
New-Item -ItemType Directory -Path $configDir -Force | Out-Null

$config = @{
    ActiveProfile       = "production"
    DefaultOutputFormat  = "Json"
    VerboseLogging       = $false
    Profiles             = @{
        production = @{
            ApiUrl    = "https://api.magicsuite.net"
            TokenName = "prod-token-name"
            TokenKey  = "prod-token-key"
        }
        staging = @{
            ApiUrl    = "https://api-staging.magicsuite.net"
            TokenName = "staging-token-name"
            TokenKey  = "staging-token-key"
        }
        test = @{
            ApiUrl    = "https://api-test.magicsuite.net"
            TokenName = "test-token-name"
            TokenKey  = "test-token-key"
        }
    }
} | ConvertTo-Json -Depth 4

Set-Content -Path (Join-Path $configDir "cli-config.json") -Value $config -Encoding UTF8

Write-Host "Magic Suite profiles configured successfully." -ForegroundColor Green

Note: The configuration file is stored at %APPDATA%\Panoramic Data\MagicSuite\cli-config.json. This is the same location used by the Magic Suite CLI, so profiles are shared between both tools.

Step 3: Select a Tenant

  1. Open the Command Palette (Ctrl+Shift+P)
  2. Run Magic Suite: Select Tenant
  3. SuperAdmin users will see a list of all available tenants; regular users will see their assigned tenant

Step 4: Run an RMScript

  1. Open a .rm or .rmscript file
  2. Click the ▶ Play button in the editor title bar, or press Ctrl+Shift+R
  3. The progress panel opens to the side showing real-time execution status

Commands

All commands are available via the Command Palette (Ctrl+Shift+P) under the Magic Suite category.

Command Description Shortcut
Run RMScript Execute the current RMScript file Ctrl+Shift+R
Stop Execution Cancel a running script —
Select Profile Switch between API profiles —
Select Tenant Switch the active tenant —
Manage Profiles Add, edit, or remove profiles —
Set Batch Variables File Select a JSON file with variables —
Open Progress Panel Show the execution progress panel —
Evaluate NCalc Expression Evaluate the current .ncalc file Ctrl+Shift+N
Open Merlin Chat Show the Merlin chat view None
New Merlin Chat Start a new conversation None

Commands marked (Internal) are for Panoramic Data developers and appear only when the active profile's user is a Magic Suite SuperAdmin. Hiding them is a convenience, not a control: the API enforces who may use what.

Settings

Setting Description Default
magicsuite.activeProfile The currently active profile name ""
magicsuite.activeTenant The currently active tenant name ""
magicsuite.batchVariablesFile Path to a JSON file with batch variables ""

Batch Variables

To set variables before execution:

  1. Create a JSON file with your variables:
{
    "CustomerName": "Acme Corp",
    "ReportDate": "2026-01-01",
    "OutputFormat": "PDF"
}
  1. Run Magic Suite: Set Batch Variables File and select the file
  2. The variables will be included with every subsequent script execution

Colour Themes

The extension includes two colour themes designed for RMScript:

  • Magic Suite RMScript Dark — optimised for dark editor backgrounds
  • Magic Suite RMScript Light — optimised for light editor backgrounds

To activate: Ctrl+K Ctrl+T → search for "Magic Suite"

Managing Profiles In-Panel

Profile management is also available directly within the Settings tab of the Magic Suite panel — no need to use the Command Palette. From the Settings tab you can add, edit, and remove profiles without leaving the panel.

Troubleshooting

"No profiles configured"

Run Magic Suite: Manage Profiles to create a profile, or set up the CLI configuration file using the PowerShell script above.

"Connection failed" or timeout errors

  • Verify your API URL is correct and accessible from your network
  • Check that your API token has not expired
  • Ensure you are connected to the correct VPN if your environment requires one

Syntax highlighting not working

  • Ensure the file has a .rm or .rmscript extension
  • Try selecting the language mode manually: click the language indicator in the status bar and select RMScript
  • If using a custom theme, switch to Magic Suite RMScript Dark or Light for best results

SignalR connection warnings

SignalR provides live progress updates. If the connection fails—for example, due to firewall rules—the extension falls back to polling automatically. You may see a warning in the output channel, but execution is not affected.

Requirements

  • Visual Studio Code 1.100.0 or later
  • Network access to a Magic Suite API endpoint
  • A valid API token

About

Magic Suite is developed by Panoramic Data Ltd.

For support, feature requests, or bug reports, please visit the GitHub repository.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft