Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>IEC 61131-3New to Visual Studio Code? Get it now.
IEC 61131-3

IEC 61131-3

graviness.com

|
5 installs
| (0) | Free
IEC 61131-3 language support for Visual Studio Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

IEC 61131-3 for Visual Studio Code

VS Code Marketplace Version VS Code Marketplace Installs

IEC 61131-3 language support for Visual Studio Code — syntax highlighting and language configuration for IEC 61131-3 source files.

screenshot

Features

  • Syntax Highlighting — supports .iec, .st, .iecst files
    • Control flow keywords (if/end_if, for/end_for, case/end_case, etc.)
    • POU declarations (function, function_block, program, method, class, etc.)
    • Variable section keywords (var, var_input, var_output, var_in_out, etc.)
    • Data types (bool, byte, char, date_and_time, dint, dt, int, ldate_and_time, ldt, lint, lreal, string, time, wchar, wstring, etc.)
    • Duration literals (e.g. t#1h30m, time#500ms)
    • Date/time literals (e.g. d#2024-01-01, tod#12:00:00)
    • Numeric literals (decimal, hex 16#, binary 2#, octal 8#)
    • Direct addresses (e.g. %ix0.0, %qw1, %md2)
    • Operators (:=, ?=, &, or, not, mod, xor, etc.)
    • Line comments (//) and block comments ((*..*), /*..*/)
    • Pragmas ({...})
    • Single-quoted and double-quoted strings with $-escape sequences
  • Language Configuration
    • Bracket matching for () and []
    • Auto-closing pairs for (), [], (**), /**/, '', ""
    • Indentation rules for ST block keywords (if/end_if, etc.)
    • Comment toggle with // (line) and (*..*) (block)

Example

{This is a pragma}
function_block Counter
var_input
    Enable : bool;
    Step   : dint := 1;
end_var
var_output
    Value  : dint;
end_var
var
    _initialized : bool := false;
end_var

if not _initialized then
    Value := 0;
    _initialized := true;
end_if;

if Enable then
    Value := Value + Step;
end_if;

end_function_block

Supported File Extensions

Extension Description
.iec, .iecst, .st IEC 61131-3 source files

Installation

Install from the VS Code Marketplace, or install a .vsix file directly.

Local Development

Clone the repository and press F5 to launch the Extension Development Host:

git clone https://github.com/yunos0987/vscode-iec-61131-3-lang.git
cd vscode-iec-61131-3-lang
code .
# Then press F5 in VS Code

Alternatively, install a packaged .vsix:

code --install-extension iec-61131-3-<version>.vsix

License

MIT License

Changelog

See CHANGELOG.md.

Related Resources

  • jiecc — An IEC 61131-3 converter. Converts IEC 61131-3 source code to IEC 61131-10 XML into a format importable by each manufacturer's PLC tool (Beckhoff TwinCAT, CODESYS, OMRON, Mitsubishi, etc.).

  • jieclib — An IEC 61131-3 source code library. Real-world .iec files you can open directly to see this extension's syntax highlighting in action.

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