Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>IronPLCNew to Visual Studio Code? Get it now.
IronPLC

IronPLC

IronPLC

|
215 installs
| (0) | Free
Open-source IEC 61131-3 language support with real-time error checking, auto-completion, syntax highlighting, and a runtime for executing programs.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

IronPLC Visual Studio Code Extension

IronPLC brings IEC 61131-3 support to your development environment, providing real-time code analysis, syntax highlighting, build tasks, and a bytecode viewer for programs written in the IEC 61131-3 Structured Text language.

Quick Start

  • Step 1. Install the IronPLC compiler and extension on your system.
  • Step 2. Open or create an IEC 61131-3 file and start coding.

Supported File Types

File Type Extensions Description
Structured Text .st, .iec IEC 61131-3 Structured Text source files
PLCopen XML Auto-detected PLCopen TC6 XML project files with embedded Structured Text
TwinCAT .TcPOU, .TcGVL, .TcDUT Beckhoff TwinCAT 3 project files with embedded Structured Text

Features

Syntax Highlighting

Full syntax highlighting for IEC 61131-3 Structured Text including:

  • Keywords (PROGRAM, FUNCTION, FUNCTION_BLOCK, VAR, IF, FOR, WHILE, etc.)
  • Data types (BOOL, INT, REAL, STRING, TIME, etc.)
  • Operators and literals
  • Comments ((* block comments *))

PLCopen XML files are also highlighted with embedded Structured Text support.

Real-Time Analysis

As you type, IronPLC analyzes your code and reports:

  • Syntax errors
  • Semantic errors (type mismatches, undefined variables, etc.)
  • Warnings for potential issues

Diagnostics appear inline and in the Problems panel.

Auto-Closing Pairs

The extension automatically closes:

  • Brackets and strings: [], (), '', ""
  • Comments: (* *)
  • Control structures: IF/END_IF, FOR/END_FOR, WHILE/END_WHILE, CASE/END_CASE, REPEAT/END_REPEAT
  • Program units: PROGRAM/END_PROGRAM, FUNCTION/END_FUNCTION, FUNCTION_BLOCK/END_FUNCTION_BLOCK
  • Variable blocks: VAR/END_VAR, VAR_INPUT/END_VAR, VAR_OUTPUT/END_VAR, and other VAR types
  • Other blocks: STRUCT/END_STRUCT, ACTION/END_ACTION, CONFIGURATION/END_CONFIGURATION

Bracket Colorization

Matching brackets are colorized to help visualize nesting levels.

Build Tasks

The extension integrates with the build system to compile IEC 61131-3 projects into bytecode container (.iplc) files without leaving the development environment.

  • Press Ctrl+Shift+B (or Cmd+Shift+B on macOS) and select ironplc: compile
  • Output is written to a .iplc file in the workspace root

Bytecode Viewer

Opening an .iplc bytecode file displays a human-readable disassembly of the compiled program, including the file header, constant pool, task table, and function instructions with color-coded opcodes.

Commands

Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows) and type in one of the following commands:

Command Description
IronPLC: New Structured Text File Create a new IEC 61131-3 structured text file

Extension Settings

Setting Description Default
ironplc.path Path to the IronPLC compiler executable. If empty, discovers based on PATH. (empty)
ironplc.logLevel Log level for the compiler: ERROR, WARN, INFO, DEBUG, or TRACE ERROR
ironplc.logFile Path to write compiler logs. If empty, logs are not written to file. (empty)

Platform Support

The extension works on:

  • Windows
  • macOS
  • Linux

Supported Development Environments

This extension is published to both the Visual Studio Code Marketplace and the Open VSX Registry. It works with any development environment that supports VS Code extensions, including:

  • Visual Studio Code
  • Cursor

Learn More

Visit ironplc.com for documentation, tutorials, and guides.

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