TcView is a Windows-only VS Code extension for viewing and editing TwinCAT XML-backed PLC source as IEC Structured Text.
It is built as a code-first companion to TwinCAT XAE, not a replacement for it. TcView is strongest when you want faster editing, navigation, diagnostics, metadata inspection, and build workflows from inside VS Code.
- Overview
- Current Status
- Why TcView
- Key Features
- Quick Start
- Common Workflows
- Supported Roots
- Supported File Types
- Install
- Bundled Backend
- Key Settings
- Library Metadata
- Documentation
- License
- An ST-first editor for TwinCAT XML-backed PLC source files
- A TwinCAT-aware explorer for valid TwinCAT solutions and PLC project roots
- A navigation and diagnostics tool for TwinCAT source authoring
- A quick way to inspect libraries and build the active TwinCAT solution from VS Code
- Not a full TwinCAT XAE replacement
- Not a device or configuration engineering environment
- Not a runtime administration or online-debugging workstation
Use TcView for day-to-day code work. Use TwinCAT XAE for device engineering, activation, deployment, runtime control, and full compiler/runtime truth.
TcView is currently in public alpha.
- Windows only
- Built for TwinCAT development workflows inside VS Code
- Suitable for early real-world use, with some features still maturing as the alpha continues
- Edit TwinCAT XML-backed source as readable Structured Text instead of raw XML
- Work from a TwinCAT-aware Explorer grouped into
SYSTEM,PLC, andI/O - Keep diagnostics, navigation, and library inspection close to the code
- Build the active TwinCAT solution without leaving VS Code
- Open supported TwinCAT XML artifacts as editable Structured Text
- Save ST changes back into the original TwinCAT XML source
- Browse TwinCAT projects grouped into
SYSTEM,PLC, andI/O - Create TwinCAT files and folders from the Explorer
- Rename, delete, copy, cut, and paste supported TwinCAT items
- Add methods, properties, actions, and transitions for supported POU-like files
- Show diagnostics on files, folders, and top-level Explorer groups
- Navigate with completion, hover, rename, references, symbols, folding, and code actions
- Show per-PLC
Referencesand open library references in an API-style viewer - Resolve libraries from project,
.tmc, managed-library, built-in, and user metadata layers - Import library project metadata from a selected
.plcprojor project folder - Update, remove, and prune user library metadata entries
- Use optional Automation Interface-backed commands to add or remove TwinCAT library references
- Build the active TwinCAT solution with MSBuild
- Export optional runtime performance baselines and traces for troubleshooting
- Open a real TwinCAT root:
a solution root with
.slnplus.tsprojor.tspproj, or a standalone PLC project root with.plcproj. - Open the
TcViewactivity bar container in VS Code. - Use the
Explorerview to browseSYSTEM,PLC, andI/O. - Open supported TwinCAT source files and edit them as Structured Text.
- Save normally to write changes back into the original TwinCAT XML file.
- Open
.TcPOU,.TcPRG,.TcDUT,.TcGVL,.TcITF,.TcIO, and related artifacts as ST - Edit them in a code-first view instead of raw TwinCAT XML
- Save changes back to the original TwinCAT source file
- Expand PLC project nodes and folders
- Inspect
References - Open a library reference in the API-style viewer
- Create TwinCAT folders and files
- Add methods, properties, actions, and transitions where supported
- Rename, delete, copy, cut, and paste supported items
- Review diagnostics in the editor and Explorer
- Use completion, hover, rename, references, symbols, and code actions
- Suppress selected lint rules with supported
tcviewand Beckhoff analysis pragmas - Run
Build TwinCAT Solution - Capture troubleshooting artifacts with
Export TcView Performance Baseline - Capture runtime traces with
Export TcView Performance Trace
TcView activates on real TwinCAT roots only.
- TwinCAT solution root:
- contains
.slnplus.tsprojor.tspproj
- contains
- Standalone PLC project root:
- contains
.plcproj
- contains
A plain .sln without a .tsproj or .tspproj is not treated as a TwinCAT solution.
| Type | Extension |
|---|---|
| POU | .TcPOU |
| Global Variable List | .TcGVL |
| Data Type | .TcDUT |
| Program | .TcPRG |
| Application | .TcAPP |
| Communication | .TcCOM |
| Variable Container | .TcVAR |
| I/O | .TcIO |
| Interface | .TcITF |
- Build or download a
.vsixpackage. - In VS Code, run
Extensions: Install from VSIX.... - Select the TcView
.vsix.
- Run
npm install. - Run
npm run compile. - Press
F5in VS Code.
Most TcView features run entirely inside the VS Code extension host.
The bundled backend is only required for TwinCAT Automation Interface operations such as:
Add TwinCAT Library To ProjectRemove TwinCAT Library From Project
Notes:
- The packaged extension ships with a bundled backend.
- The bundled backend currently targets
net8.0-windows. twincat.backend.executablePathis an advanced override, not a normal setup step.- If the backend cannot launch, verify the required .NET runtime is installed and capture the exact error text.
| Setting | Purpose |
|---|---|
twincat.build.msbuildPath |
Explicit MSBuild path override |
twincat.backend.tmcRoots |
Additional .tmc lookup roots |
twincat.library.managedRoots |
Additional Managed Libraries roots |
twincat.library.metadataFiles |
Additional library metadata JSON files |
twincat.backend.executablePath |
Optional override path for a custom TcView backend executable |
TcView resolves libraries from several sources in order of confidence:
- Project or local source
- Current PLC
.tmc - Installed managed-library metadata
- Built-in catalog metadata
- User or workspace metadata
In practice:
- some core Beckhoff libraries already ship with built-in metadata
- project-local or internal libraries usually need manual metadata import from source
.tmcreflects what the current consuming project has compiled or exposed, not a complete external library catalog
Global user metadata lives at:
%APPDATA%\\TcView\\tcview.libraries.json
For more detail, see Library Metadata.
- Architecture
- Branch Protection
- Contributing
- Library Metadata
- Lint Pragmas
- Development
- Performance Baselines
- Performance Trace Triage
- Support Matrix
- GitFlow
- Roadmap
- Security Policy
- Code of Conduct
- Changelog
MIT. See LICENSE.
