Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>TM1 IDENew to Visual Studio Code? Get it now.
TM1 IDE

TM1 IDE

flameY3T1

|
1 install
| (0) | Free
IDE for IBM Planning Analytics / TM1: TI editor with linter, formatter & autocomplete, cube viewer (write-back & spreading), dimension editor, MDX runner, rule editor, chores, security management, TI test framework and Git integration.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TM1 IDE — The Complete IDE for IBM Planning Analytics / TM1

Author: flameY3T1

TM1 IDE turns VS Code into a full development environment for IBM Planning Analytics / TM1. Write TI processes and rules with real autocomplete and a server-backed compile check, browse and edit cubes and dimensions visually, run MDX, trace process call graphs, test processes without touching your data, and mirror everything to Git — all from one tree, across as many servers as you like.

If you've been switching between Architect, PAW, and a text editor, TM1 IDE replaces all three with a single, modern, keyboard-driven workflow. No prior VS Code experience required — this guide gets you running.


Why TM1 IDE

Most TM1 editors stop at "edit a process, push it back." TM1 IDE goes further:

  • Visual cube & dimension editing — pivot cubes, write back values, spread, and restructure hierarchies by drag-and-drop. Not just code.
  • Server compile-check on save — bad code never reaches the server. The save is blocked, not silently broken.
  • Configurable linter + formatter — per-server rule sets and severities: strict on Prod, relaxed on Sandbox.
  • Call-graph & references — see the blast radius of a process before you change it.
  • Git mirror — materialize processes and rules as files, with drift detection and diff.
  • Fully localized — complete English and German UI.

Getting Started

What you need

  • VS Code — free from code.visualstudio.com
  • TM1 IDE — install from the VS Code Marketplace (search "TM1 IDE")
  • Network access to your TM1 server(s) — the REST API port must be reachable
  • Optional: Git for version control and team workflows (git-scm.com)

Step 1 — Install

  1. Open VS Code.
  2. Click the Extensions icon in the left sidebar (or press Ctrl+Shift+X).
  3. Search for "TM1 IDE".
  4. Click Install.
  5. Fully restart VS Code — a window reload is not enough.

A new TM1 Explorer icon appears in the activity bar — your main entry point.

Step 2 — Add a server

  1. Click the TM1 Explorer icon in the activity bar (left side). On first start the tree is empty and shows an "Add Server" prompt.

  2. Click that prompt — or run Ctrl+Shift+P → TM1: Add Server. A guided quick-pick opens and walks you through every field, one step at a time. No JSON, no config files to hand-edit:

    Step Field Notes
    1 Name a label like DEV, PROD, Sandbox — this is what shows in the tree
    2 URL full REST API URL, e.g. https://localhost:8010
    3 Auth Basic (native TM1) or CAM / IBM Security
    4 Namespace CAM only — ask your admin (e.g. LDAP)
    5 User login name
    6 Password stored in VS Code SecretStorage (OS keychain), never in plain text
    7 SSL verify the certificate (prod) or allow self-signed (local/dev)
  3. After the last step the profile is saved and connected automatically — the server appears in the tree with a green icon.

Repeat for every environment you work with. All profiles stay listed side by side, and you can hold multiple parallel connections open at once (e.g. DEV and PROD together).

Manage & edit servers from the tree

Everything is reachable from the TM1 Explorer — no settings file:

  • Connect / disconnect — click a server in the tree, or right-click → Connect / Disconnect. The icon turns green when connected.
  • TM1: Select Server — reopens the server manager: a list of all profiles where one click connects or disconnects, plus buttons to add, edit, or remove.
  • Edit a server — right-click the server → Edit Server (or Edit in the manager). The same guided quick-pick reopens with the current values pre-filled; step through and change only what you need. Changing the URL, auth, or SSL takes effect on the next connect.
  • Change the password — re-run Edit Server and step to the password field; the new value replaces the one in SecretStorage.
  • Remove a server — right-click → Remove (or the manager's remove action). This drops the profile and its stored password.

Step 3 — Browse

Once connected, the TM1 Explorer shows Cubes, Dimensions, Processes, Chores, Views, plus per-server Files, Threads, Message Log, and the MDX Runner. The server icon turns green when connected.


Your First Steps

Open a process or rule

Click any process in the tree → TM1 IDE downloads the code and opens a Monaco editor with:

  • all four procedure sections (Prolog, Metadata, Data, Epilog) plus Parameters, DataSource, Variables as tabs;
  • TM1 syntax highlighting and autocomplete;
  • a toolbar with Save · Save As… · Format · Run · Debug.

Edit & save

Make your changes and press Ctrl+S. On save, TM1 IDE:

  1. writes the file (and, with Git mirror on, the local mirror file);
  2. sends it to the TM1 server for a real compile check;
  3. if TM1 rejects the code, nothing is saved — you get a red banner and a line marker. Green on success.

Bad code never silently lands on the server.

Run a process

Two ways:

  • Toolbar — click Run in the editor.
  • Tree — right-click a process → Execute.

If the process has parameters, a form appears — your last values are remembered.

Debug a process

  1. Click Debug in the editor toolbar.
  2. Set parameter values if prompted.
  3. The debugger starts and pauses at the first line. Use breakpoints, step over / into / out, and live variable hover.

Requires EnableTIDebugging=T on the server.


The TM1 Explorer

Right-click any node for its actions:

Category Actions
Cubes Cube Viewer · Edit Rules · RAM stats · Save Data · Load / Unload
Dimensions Dimension Editor · browse hierarchies + subsets
Processes Edit · Run · Debug · Deploy to another server · Find references · Call-Graph
Chores Activate / Deactivate · Run · Edit
Views open Cube Viewer with a saved view
Subsets Subset Editor

Header buttons filter the tree and toggle system objects (}* prefix). A Recently Used section gives one-click re-access to the objects you touch most.


Key Features

IntelliSense & autocomplete

As you type, TM1 IDE suggests TI and rule functions with signature tooltips, plus cube, dimension, subset, and element names pulled live from your server, and variables from the current file. CamelCase and infix matching included.

TI process editor

Two lint layers — a built-in linter (live: syntax, cube/dim existence, dead code, performance hints, V12-deprecated calls) and the server compile-check on save. Plus Rename Symbol (F2, across all four sections), Find References (Shift+F12), and a Resolver tab showing how TM1 resolves each ExecuteProcess() argument.

Configurable linter & formatter

A per-server ⚙ lint menu toggles individual rules (Naming / Dead-code / Style families) and sets severity — strict on Prod, relaxed on Sandbox. The editor's Format button (or Ctrl+Shift+I) auto-formats TI code with consistent indentation, casing, and spacing.

Rule editor

Monaco editor with TM1 highlighting and context-aware autocomplete ([ → dimensions · ' inside DB(...) → cubes/elements · !Dim → dimension variables · function signatures). Lint + CheckRules compile-check on save (save blocks on error). Qualify Elements rewrites [Element] → [Dim:Element] for legacy rules.

Call-graph & references

Right-click a process → an interactive graph of process→process ExecuteProcess chains and chore→process links. Click a node to jump. Know the blast radius before you change anything.

Cube Viewer

Drag-and-drop pivot across Row / Column / Title axes.

  • Write-back — double-click an N cell, type, Enter. Ctrl+Z undo. Rule-derived / locked cells are read-only.
  • Spreading — Proportional / Repeat / Percentage / Clear, plus inline ~, ~N, %N, !N syntax.
  • Suppress zero/empty, Save View… (public or private), and local drill/focus.
  • Paged loading keeps huge cubes and dimensions responsive.

Dimension Editor

Tree editor with drag-and-drop parent/child and multi-edit attributes. Commit backend adapts automatically — few edits go via individual REST calls, many edits via an on-the-fly TI process. A usage check before delete scans the element across all cubes and subsets and warns if it's in use.

MDX Runner

A Monaco MDX editor (F5 to run) with autocomplete, live validation, pivoted results, TSV copy, a query history, and a cell-limit guard for very large results.

Subset builder

The Dimension Browser builds subsets visually — wildcard pattern (* / ?), level, and attribute-value filters — and generates the matching MDX for you.

Threads & Message Log

A live Thread Viewer (user, status, function, object, runtime) with a Pause that freezes auto-refresh so you can kill a long thread without the table re-sorting. The Message Log streams the latest server entries with level filter and full-text search.

Chore Manager

View and manage scheduled chores in a table — activate/deactivate, run on demand, create/edit/delete, and inspect run history.

Security Manager

Manage security groups and user assignments through a visual matrix — toggle memberships by clicking cells.

Git mirror (optional)

Materialize processes and rules as local files (*.ti / *.pro.json / *.rux) so you version them with plain Git. The model: TM1 server = source of truth; Git mirror = audit log + backup + undo path. Webview saves write both the server and the local file; tree actions Pull / Push / Diff Local ↔ Server; an editor banner warns when the server has diverged. The extension never commits or pushes for you.

Deployment

Transport a process or rule to another server straight from the tree (Deploy to another server), or use the local .pro deploy shortcuts below.


Keyboard Shortcuts

Action Windows / Linux
Deploy local .pro to server Ctrl+Shift+U
Run local .pro Ctrl+Shift+R
Deploy and run Ctrl+Shift+E
Debug (editor) · Run query (MDX) F5
Save / Save As (process) Ctrl+S / Ctrl+Shift+S
Format code (process editor) Ctrl+Shift+I
Rename symbol (TI variables) F2
Find references Shift+F12

Working with Git (optional)

TM1 IDE works perfectly without Git — connect, edit, save. Turn on the Git mirror (tm1.git.enabled) and you also get history, branching, code review, and CI/CD-friendly file layout.

# Create a branch for your task
git checkout -b feature/new-calculation

# After editing in TM1 IDE (server + local file are written on save):
git add .
git commit -m "Add margin calculation to Finance cube"
git push

Then open a Pull/Merge Request in your Git platform to promote to the next environment.


Security & privacy

Built for corporate environments:

  • No telemetry — no usage data leaves your machine.
  • Credentials in the OS keychain — passwords live in VS Code SecretStorage, never in plain text or config files.
  • Direct connection only — all traffic goes from your machine straight to the TM1 servers you configure. No third-party endpoints.
  • Per-profile SSL — rejectUnauthorized is set per server; disable self-signed verification only on trusted networks.
  • Untrusted workspaces — because TM1 IDE can deploy and run TI code, it is disabled in Restricted Mode. Mark the folder Trusted to use it.
  • Remote-ready — runs as a workspace extension (Remote-SSH / WSL: on the host that can reach TM1).

Troubleshooting

Problem Cause / fix
Can't connect to server Check the REST API port is reachable; verify SSL matches the server. Test with curl https://<host>:<port>/api/v1/Server.
HTTP 401 Wrong user/password — Edit Server.
HTTP 401 with CAM Wrong namespace — ask your admin.
Save fails / not saved Compile-check failed (read the red banner) or the server is unreachable / the object was renamed.
Tree empty though connected TM1: Refresh Server (header icon).
Debugger won't start Ensure EnableTIDebugging=T is set on the server.
Autocomplete missing server objects Needs an active connection — disconnect and reconnect.

TM1: Test Connection (Diagnostics) does a single roundtrip against /api/v1/Server and reports the HTTP status.


Where data is stored

Data Location
Server profiles (name, URL, user, auth, SSL flag) VS Code globalState (tm1.servers)
Passwords VS Code SecretStorage (OS keychain, encrypted)
Per-server lint config, active server IDs, snippets globalState
Git mirror filesystem under tm1.git.repoPath

Profiles are publisher-bound — they survive uninstall and are reused on reinstall.


Support

Questions, bug reports, or feature requests — open an issue on the project repository or contact the author.


License

Proprietary. Copyright (c) 2026 flameY3T1. All rights reserved. See the LICENSE file included in this package.

The source code is private and confidential. Access granted to selected individuals does not include any right to redistribute, publish, or disclose it to third parties. The right to publish compiled builds (e.g. the VS Code Marketplace) is reserved exclusively to the copyright holder.

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