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

|
7 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

Progress Panel

  • Progress grid — colour-coded macro status blocks matching Report Studio's colour scheme
  • Macro list — clickable list of all macros with type icons, durations, and status badges
  • Macro detail — view input text, output text, messages, duration, and execution result for any macro
  • Variable viewer — inspect all variables during and after execution
  • JSON table view — toggle between raw JSON and tabular view for JObject and JArray variable values
  • Per-tab detail panes — each tab (Progress, Macros, Variables) has its own resizable detail pane

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
  • 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 —

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"

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
© 2026 Microsoft