Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>pa-codeNew to Visual Studio Code? Get it now.
pa-code

pa-code

Tim Geilen

|
311 installs
| (0) | Free
TM1 Process Editor with Git Integration
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PA Code

The Modern IDE for IBM Planning Analytics / TM1

Author: Tim Geilen

PA Code brings the power of a modern code editor to TM1 development. If you've been working in Architect or PAW to write TI processes and rules, PA Code gives you a faster, more organized workflow — with autocomplete, debugging, version control, and multi-instance management built right in.

No prior VS Code experience required. This guide will get you up and running.


Getting Started

What You Need

  1. VS Code — Download free from code.visualstudio.com
  2. PA Code Extension — Install from the VS Code Marketplace (search "PA Code")
  3. Network access to your TM1 server(s) (REST API port must be reachable)

Optional:

  • Git — For version control and team collaboration (git-scm.com)

Step 1: Install PA Code

  1. Open VS Code
  2. Click the Extensions icon in the left sidebar (or press Ctrl+Shift+X)
  3. Search for "PA Code"
  4. Click Install

After installation, you'll see a new PA Code icon in the left activity bar — that's your main entry point.

Step 2: Configure Your TM1 Connection

  1. Click the PA Code icon in the activity bar (left side)
  2. In the sidebar that opens, click the ⚙️ gear icon at the top
  3. The Settings panel opens — here you add your TM1 environments:
    • Name: A label like DEV or PROD
    • Connection Type: Choose how to connect:
      • Admin Host: Auto-discovers all TM1 instances on a host
      • Single Instance: Direct connection to one server (URL + port)
      • v12 Tenant: For IBM Planning Analytics as a Service
    • SSL: Enable if your server uses HTTPS
  4. Click Save

Tip: You can configure multiple environments (DEV, TEST, PROD) to manage all your servers in one place.

Step 3: Connect to Your Server

  1. In the PA Code sidebar, expand your environment
  2. You'll see your TM1 server(s) listed
  3. Click the plug icon (or right-click → Connect)
  4. Enter your credentials:
    • Native Security: Username + Password
    • CAM Security: Namespace + Username + Password
  5. Once connected, the server icon turns green ✓

You're now connected! Your processes and rules are listed in the tree below.


Your First Steps

Opening a Process or Rule

Click any process name in the tree to open it. PA Code downloads the code from the server and opens it in the editor. You'll see:

  • All four procedure sections (Prolog, Metadata, Data, Epilog) in one file
  • Syntax highlighting for all TI functions
  • A ► Run and 🐛 Debug button at the top (CodeLens)

Editing and Saving

  1. Make your changes in the editor
  2. Press Ctrl+S to save

That's it. PA Code automatically:

  • Saves the file locally on your disk
  • Pushes the change to the TM1 server
  • Validates the syntax and shows errors inline (red underline with message)

Running a Process

Three ways to run a process:

  1. CodeLens button: Click ► Run at the top of the .ti file
  2. Tree view: Right-click a process → Execute
  3. Recently Used: Click the ► icon on any previously-run process in the sidebar

If the process has parameters, a form appears where you can fill them in. PA Code remembers your last used values.

Debugging a Process

  1. Click 🐛 Debug at the top of a .ti file
  2. Set parameter values if prompted
  3. The debugger starts and pauses at the first line
  4. Use the debug toolbar:
    • F5 — Continue
    • F10 — Step Over (next line)
    • F11 — Step Into (sub-process)
    • Shift+F5 — Stop
  5. Watch variables update in real-time in the left panel

Requires EnableTIDebugging=T on the server. PA Code will offer to enable it for you.


The PA Code Sidebar

The sidebar (click the PA Code icon in the activity bar) is your central navigation:

Section What it does
Connections All your environments and servers. Connect, disconnect, browse objects.
Recently Used Last opened processes/rules. Quick re-access and re-execution.
Favorites Pin processes you use daily (click the ⭐ in the editor title bar).
Quick Actions One-click access to Search, Server Log, Thread Viewer, Deployment, and more.
TM1 Function Reference Searchable list of all 200+ TI/Rule functions. Click to insert.

Key Features

IntelliSense & Autocomplete

As you type, PA Code suggests:

  • All TI and Rule functions with syntax tooltips
  • Cube names, dimension names, subsets, and elements from your server
  • Variable names from your current file

Server Log (Live)

Click the 📋 icon next to a connected server to stream the tm1server.log in real-time. Use the "Load More" button in the status bar to scroll further back in history.

Thread Viewer

Monitor all active TM1 threads with auto-refresh. See what's running, filter by user or function, and kill threads directly.

Chore Manager

View and manage all scheduled chores in a table:

  • Toggle active/inactive
  • Execute on demand
  • Create, edit, delete chores
  • View execution history with duration and status

Security Manager

Manage security groups and user assignments with a visual matrix table. Toggle memberships by clicking cells.

MDX Wizard

Build MDX statements visually:

  • Subset Builder: Pattern filters, attribute filters, set operations, sorting
  • View Builder: Cube selection, axis assignment, per-dimension subsets

Deployment Assistant

Transport processes and rules between instances (e.g., DEV → PROD):

  1. Select source and target server
  2. Search and select objects to deploy
  3. Review changes with diff comparison
  4. Deploy with one click

Bulk Delete

Delete multiple objects at once (views, subsets, processes). Includes a Global Pattern Search to find objects matching wildcards across all cubes and dimensions.

File Manager

Browse server files (Applications, Blobs, logs) via the REST API. Download files directly.

TI Code Formatter

Press Shift+Alt+F to auto-format your TI code with consistent indentation, casing, and spacing.


Keyboard Shortcuts

Action Windows/Linux macOS
Search Processes Ctrl+Alt+F ⌘+⌥+F
New Process Ctrl+Alt+N ⌘+⌥+N
Pull All from Server Ctrl+Alt+P ⌘+⌥+P
Server Log Ctrl+Alt+L ⌘+⌥+L
Thread Viewer Ctrl+Alt+T ⌘+⌥+T
Deployment Assistant Ctrl+Alt+D ⌘+⌥+D
Format Code Shift+Alt+F ⇧+⌥+F
Toggle Comment Ctrl+# ⌘+#
Save (& push to server) Ctrl+S ⌘+S

Working with Git (Optional)

PA Code works perfectly without Git — you can just connect, edit, and save. But if you want version control and team collaboration, Git adds:

  • History: See who changed what and when
  • Branching: Work on features without affecting others
  • Code Review: Merge Requests before deploying to production
  • CI/CD: Automated deployments via GitLab/GitHub pipelines

Basic Git Workflow

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

# After making changes, commit them
git add .
git commit -m "Added margin calculation to Finance cube"
git push

Then create a Merge Request in your Git platform to deploy to the next environment.


AI Support

PA Code works with any AI coding assistant available in VS Code:

  • GitHub Copilot — Code completion and generation for TI/Rules
  • Other AI providers — Any VS Code-compatible AI extension

The AI understands TM1 syntax and can help you write processes, debug issues, and generate boilerplate code.


Security & Privacy

PA Code is built for corporate environments:

  • Zero telemetry — No data leaves your machine
  • Zero credential storage — Passwords are never saved to disk
  • Local only — All communication goes directly from your machine to your TM1 server

For full details, see our Security & Privacy Policy.


Troubleshooting

Problem Solution
Can't connect to server Check that the REST API port is reachable from your machine. Verify SSL settings match your server.
Save fails with 404 Server may be unreachable or the object was deleted/renamed.
No processes visible Make sure you're connected (green icon). Try right-click → Refresh.
Debugger won't start Ensure EnableTIDebugging=T is set in the server configuration.
Autocomplete not showing server objects You need an active connection. Disconnect and reconnect if needed.

Support

For questions, bug reports, or feature requests, please contact the author or open an issue on the project repository.

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