This is a new article series introducing the OPEN SOURCE truST Platform. truST is an open-source IEC 61131-3 toolchain running on VS Code, featuring real-time diagnostics, go-to-definition, a breakpoint-enabled debugger, and a hardware-free test runtime.
Episode 1 covers installing and using plugins.
Alright, let’s enjoy the FA!

Foreword
Thank you from the bottom of my heart for visiting my technical blog and YouTube channel.
We are currently running the “Takahashi Chris” radio show with Full-san (full@桜 八重 (@fulhause) / X) which I deliver every Wednesday night.
Sharing, not hoarding, technical knowledge
We publish technical information related to factory production technology and control systems for free, through blogs and videos.
With the belief that “knowledge should be accessible to everyone,” we share practical know-how and real-world troubleshooting cases from our own field experience.
The reason we keep it all free is simple: to help reduce the number of people who struggle because they simply didn’t know.
If you’ve ever thought:
- “Will this PLC and device combination actually work?”
- “I’m having trouble with EtherCAT communication—can someone test it?”
- “I want to try this remote I/O, but we don’t have the testing environment in-house…”
Feel free to reach out!If lending equipment or sharing your configuration is possible, we’re happy to verify it and share the results through articles and videos.
(We can keep company/product names anonymous if requested.)
How can you support us?
Currently, our activities are nearly all unpaid, but creating articles and videos takes time and a proper testing environment.If you’d like to support us in continuing and expanding this content, your kind help would mean a lot.
Membership (Support our radio show)
This support plan is designed to enhance radio with Mr Full.
https://note.com/fulhause/membership/join
Amazon Gift List (equipment & books for content production)
Lists equipment and books required for content creation.
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon (Support articles & video creation)
Your small monthly support will help to improve the environment for writing and verifying articles.
https://www.patreon.com/user?u=84249391
Paypal
A little help goes a long way.
https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP
Just trying to share things that could’ve helped someone—if only they’d known.
Your support helps make knowledge sharing more open and sustainable.
Thank you for being with us.
soup01threes*gmail.com
Technical knowledge shouldn’t be kept to ourselves.
truST Platform
truST Platform is an IEC 61131-3 Structured Text toolchain, featuring full support for VS Code and official LSP configuration profiles for Neovim and Zed:
- Language Server (LSP) + VS Code extension
- Runtime execution engine
- Debug Adapter (DAP) debugger

Additionally, truST LSP provides features that enhance productivity for IEC 61131-3 structured text in VS Code.
- High-speed diagnostics and semantic highlighting
- Definition/reference navigation, renaming, formatting
- Runtime panel with live I/O control
- HMI preview panel with live schema + value updates
- Debugging with breakpoints, step execution, continuation, and runtime values
- ST test workflow with CodeLens + Test Explorer
This is the Trust platform’s GitHub.
Install plugins in VsCode
Install Trust LSP Plugins from Visual Studio Code.

Proceed with Trust Publisher & Install.

Done!

Start a new project
Next, open an empty folder by selecting File → Open Folder.

This article will use TrustST→pTut01.

Create a St File
Next, create a new ST FILE.

Creating an ST File will automatically generate the files required for TrustST.

Your First ST Program
In this article, we will create a simple ST program.

runtime.toml
Additionally, you need a runtime.toml file to connect to the runtime. Create that runtime.toml file.
Use runtime.toml directly from the EXAMPLE below.

Runtime Panel
This time, press Ctrl+Shift+P → Open Runtime Panel.

The TrustST Runtime settings screen will appear.

Settings can be changed using the gear icon shown below.

Finally, select Local → Start to launch the local runtime.

Done!Runtme has started.

You can also see that Runtime has started in the DEBUG CONTROL TAB.

It will also be displayed on the Runtime control panel.

Attach Debugger
Next, press Ctrl+Shift+P → Attach Debugger to connect to the runtime.

Open the Debug screen.

Pause the runtime.

I was able to check the program’s current value when it was paused.

You can also change the current value of a variable from VS Code.

In the example below, set enable=FALSE.

Then click Continue in the Runtime panel.

You can see that the counter has stopped incrementing.
