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

TouchDesigner IDE

Maja Roczek

|
1 install
| (0) | Free
Interactive development environment for TouchDesigner: live autocompletion, remote Python execution, OP tree explorer, and Textport bridge.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

TouchDesigner IDE for Visual Studio Code

TouchDesigner IDE connects Visual Studio Code directly to your running TouchDesigner project.

Instead of writing code inside small Text DAT windows in TouchDesigner, you can write your Python scripts and GLSL shaders in a full-featured code editor with live node autocompletion, visual click-to-run buttons, keyboard shortcuts, and real-time error logging.


What It Does

  • Live Node Autocompletion: When you type op(', VS Code inspects your running TouchDesigner project and shows a list of your actual operators (TOPs, CHOPs, DATs, SOPs, COMPs, and MATs).
  • Live Parameter Suggestions: When you type .par. after any operator, VS Code shows that operator's real parameters, including custom parameters you created and their current values.
  • Click-to-Run Buttons: Click the Play button in the top-right corner of your editor tab or the "Run in TD" button in the bottom status bar to run code instantly in TouchDesigner.
  • Keyboard Shortcuts: Highlight any piece of code and press Cmd + Enter (on Mac) or Ctrl + Enter (on Windows) to run it immediately without switching windows.
  • Operator Tree Sidebar: Browse your TouchDesigner network hierarchy right from the VS Code sidebar. Click any Text DAT to open and edit it directly.
  • Two-Way Sync: Edit a script in VS Code, hit Save, and the changes update inside your TouchDesigner DAT automatically.
  • TouchDesigner Textport in VS Code: All print() outputs, status messages, and Python error messages stream directly into an output window in VS Code.
  • Interactive Python Console: Open an interactive TouchDesigner terminal in VS Code with a single click to test code live with command history.
  • Ready-to-Use Code Templates: Type quick abbreviations like td-exec or td-chopexec to instantly insert correctly structured callback scripts and extensions.

Getting Started

You do not need to download or compile any source code. You only need the single ready-made extension file (.vsix).

Step 1: Download and Install the Extension

  1. Go to the Releases page on GitHub and download the latest touchdesigner-ide-0.3.0.vsix file.
  2. Open Visual Studio Code.
  3. Open the Extensions panel by clicking the Extensions icon on the left sidebar (or press Cmd + Shift + X on Mac / Ctrl + Shift + X on Windows).
  4. Click the three dots menu (...) in the top right corner of the Extensions panel.
  5. Select Install from VSIX...
  6. Choose the downloaded touchdesigner-ide-0.3.0.vsix file.

The extension will install immediately with all features ready to use.

Step 2: Start the Bridge in TouchDesigner

You do not need to copy any files or type any long file paths:

  1. In VS Code, look at the status bar at the bottom right and click TD: Disconnected (or press Cmd + Shift + P and search for TouchDesigner: Copy Bridge Installer Script to Clipboard).
  2. Choose Copy Bridge Installer to Clipboard.
  3. Switch to TouchDesigner and open the Textport by pressing Alt + T on Windows, or Cmd + T on Mac.
  4. Paste (Ctrl + V on Windows or Cmd + V on Mac) and press Enter.

TouchDesigner will confirm that td_vscode_bridge has been created in /project1 and is listening on port 9988.

Step 3: Connect VS Code to TouchDesigner

  1. In VS Code, click TD: Disconnected in the bottom status bar and select Connect to TouchDesigner (or press Cmd + Shift + P and choose TouchDesigner: Connect to TouchDesigner).
  2. The status indicator will turn green and display TD: Connected, showing your TouchDesigner build version and active project name.

You are now connected and ready to code.


Running Code and Using the Buttons

The extension gives you multiple visual buttons so you never have to remember complex shortcuts:

1. Editor Header Buttons (Top Right of Your Code Tab)

Whenever you open a Python (.py), GLSL shader (.frag, .vert, .glsl), or table file, action buttons appear in the top-right corner of the editor tab:

  • Play Button: Runs your selected code in TouchDesigner. If no code is highlighted, it runs the current line and advances your cursor down to the next line.
  • Run-All Button: Runs the entire active file in TouchDesigner.
  • Terminal Button: Opens the interactive TouchDesigner Python REPL console.
  • Clipboard Button: Copies the bridge installer script so you can easily enable the connection in any other TouchDesigner project.

2. Status Bar Buttons (Bottom Right of VS Code)

Look at the bottom status bar for quick one-click controls:

  • Run in TD: Click this button at any time to run the highlighted code or active line in TouchDesigner.
  • TD REPL: Click this button to toggle the interactive console.
  • TD: Connected / Disconnected: Shows live connection status. Clicking it opens a menu of connection actions.

3. Sidebar Header Buttons (TouchDesigner Operator Tree)

Click the TouchDesigner icon on the left Activity Bar to open the Operator Tree. The header at the top of the sidebar includes buttons to:

  • Copy the bridge installer script.
  • Open the interactive REPL terminal.
  • Refresh the operator tree.
  • Connect or disconnect from TouchDesigner.

Editor Features

Node and Parameter Autocompletion

  • Start typing op(' — a popup list appears showing all operators in your project.
  • Type op('/project1/geo1').par. — a list of all parameters on that operator appears. Custom parameters you created are clearly marked with Custom.
  • Hover your mouse over any op('/...') in your code to view the operator type, cooking status, parameter count, and any warnings or errors.

Jumping to a Script (Go to Definition)

  • Place your cursor on any operator path like op('/project1/my_script') and press F12 (or hold Cmd on Mac / Ctrl on Windows and click the path).
  • VS Code immediately opens that DAT so you can view and edit its code.

The Interactive Python Console (REPL)

  • Click the TD REPL in the extension.
  • A terminal window opens with a td >>> prompt where you can test code live against your open TouchDesigner project.
  • Use the Up and Down arrow keys to cycle through your command history.

Keyboard Shortcuts

Shortcut (Mac) Shortcut (Windows) Action
Cmd + Enter Ctrl + Enter Run selected code (or current line) in TouchDesigner
Shift + Cmd + Enter Shift + Ctrl + Enter Run the entire file in TouchDesigner
F12 or Cmd + Click F12 or Ctrl + Click Jump directly to the referenced script or extension method

Code Templates (Snippets)

TouchDesigner uses specific function names for callback scripts. Instead of looking them up in documentation, type any of these short names in a Python file and press Tab or Enter to expand a full template:

Template Name What It Creates
td-ext A complete TouchDesigner Python Extension class structure
td-exec Execute DAT callbacks (onStart, onCreate, onFrameStart, onFrameEnd, onExit)
td-chopexec CHOP Execute DAT callbacks (onValueChange, onOffToOn, onWhileOn, onOnToOff)
td-parexec Parameter Execute DAT callbacks (onValueChange, onPulse, onExpressionChange)
td-panelexec Panel Execute DAT callbacks (onSelect, onHover, onPanelValueChange)
td-cook-dat Script DAT onCook() table generator
td-cook-chop Script CHOP onCook() channel generator
td-cook-sop Script SOP onCook() geometry generator
td-par-custom Custom parameter creation helper code
td-glsl-top Complete GLSL TOP pixel shader template
td-glsl-vert Complete GLSL MAT vertex shader template

Building from Source (For Developers)

Most users do not need to do this. Simply download the .vsix file from the Releases page as described in the Getting Started section above.

If you want to contribute to the extension or modify its code yourself, you can build it from source:

  1. Make sure you have Node.js installed: If you do not have it yet, download and install the LTS version from nodejs.org.

  2. Open your computer terminal: Navigate into the folder containing these files:

    cd path/to/Touchdesigner_IDE
    
  3. Install the dependencies:

    npm install
    
  4. Create the extension installer file:

    npm run package
    

    This compiles the extension and generates touchdesigner-ide-0.3.0.vsix.

  5. Install it into VS Code:

    • Install through the VS Code interface using Install from VSIX..., or run:
    code --install-extension touchdesigner-ide-0.3.0.vsix --force
    

Configuring Settings

If you run TouchDesigner on a second computer or need to change the network port, open VS Code Settings (Cmd + , on Mac or Ctrl + , on Windows) and search for TouchDesigner:

  • Server Host: The IP address of the computer running TouchDesigner (defaults to 127.0.0.1 for the same computer).
  • Server Port: The port number used by the bridge component (defaults to 9988).
  • Auto Connect: Whether VS Code automatically attempts to connect to TouchDesigner when you open the project (defaults to true).
  • Show Textport on Output: Whether to automatically show the Textport panel when code execution produces an error or output (defaults to true).

Project Roadmap

See the ROADMAP.md file for planned development milestones, upcoming features (including GLSL live reload, visual parameter inspector panels, and pre-packaged .tox components), and future release timeline.


Support

If TouchDesigner IDE saves you time and you would like to support its ongoing development, you can buy me a coffee. Any support is greatly appreciated!


License

This project is licensed under the Apache License, Version 2.0.

Copyright 2026 Maja Roczek. All rights reserved.

You are free to use, modify, and distribute this software provided that all copyright notices and attribution statements are retained, and any modified files include a notice stating that changes were made. See the LICENSE file for the full legal text.

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