Attention
IronPLC supports IEC 61131-3 Structured Text excluding I/O mapping.
Settings Reference¶
The IronPLC extension provides configuration settings to customize its behavior. Access these settings through:
(Windows/Linux)
(macOS)
Then search for “ironplc” to find all extension settings.
Available Settings¶
ironplc.path¶
- Type:
String
- Default:
Empty (auto-discovery)
Specifies the path to the ironplcc executable. When empty (the default), the extension automatically searches for the compiler in standard locations.
Use this setting when:
The compiler is installed in a non-standard location
You want to use a specific version of the compiler
Auto-discovery is not finding your installation
Example values:
Windows:
C:\Program Files\IronPLC\bin\ironplcc.exemacOS:
/usr/local/bin/ironplccLinux:
/home/username/ironplc/ironplcc
ironplc.logLevel¶
- Type:
Enum
- Default:
ERROR- Values:
ERROR,WARN,INFO,DEBUG,TRACE
Controls the verbosity of compiler logging. Higher levels include all messages from lower levels.
ERROR: Only error messages (quietest)WARN: Warnings and errorsINFO: Informational messages, warnings, and errorsDEBUG: Detailed debugging informationTRACE: Maximum verbosity (most detailed)
Increase the log level when troubleshooting issues with the extension or compiler.
ironplc.logFile¶
- Type:
String
- Default:
Empty (no file logging)
Specifies a file path where the compiler should write log messages. When empty, logs are not written to a file.
This setting is useful for:
Capturing detailed logs for bug reports
Debugging issues that occur intermittently
Analyzing compiler behavior over time
Example: /tmp/ironplc.log or C:\Users\username\ironplc.log
Note
The log file can grow large when using verbose log levels. Remember to disable file logging or delete the log file when troubleshooting is complete.
ironplc.dialect¶
- Type:
Enum
- Default:
iec61131-3-ed2- Values:
iec61131-3-ed2,iec61131-3-ed3,rusty
Selects the language dialect preset. A dialect controls the IEC 61131-3 edition and a default set of vendor extensions.
iec61131-3-ed2: Strict IEC 61131-3:2003 (Edition 2). No vendor extensions.iec61131-3-ed3: IEC 61131-3:2013 (Edition 3) withLTIME,REF_TO, etc.rusty: RuSTy-compatible — designed for compatibility with code from RuSTy-based PLC environments.
This setting corresponds to the --dialect command-line option documented in
ironplcc.
See Enabling Dialects and Features for background on dialects and Edition Support for the full list of edition-gated features.
Settings in settings.json¶
You can also configure these settings directly in your settings.json file:
{
"ironplc.path": "/custom/path/to/ironplcc",
"ironplc.logLevel": "DEBUG",
"ironplc.logFile": "/tmp/ironplc-debug.log",
"ironplc.dialect": "rusty"
}