Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Flint for IgnitionNew to Visual Studio Code? Get it now.
Flint for Ignition

Flint for Ignition

Keith-gamble

|
1,728 installs
| (3) | Free
An extension to add convenience tools for working with Ignition in VS Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Flint for Ignition

A powerful VS Code extension for working with Ignition SCADA/HMI projects, providing a comprehensive project browser, resource management, and development tools.

Version License VS Code

Features

Project Browser

  • Hierarchical tree view of all Ignition project resources
  • Multiple project support with easy switching between projects
  • Inherited resource visualization from parent projects
  • Resource categorization by type (Scripts, Views, Named Queries, etc.)
  • Missing resource.json detection with quick-fix actions
  • Tree state persistence across sessions

Resource Management

  • Create, rename, delete, and duplicate resources directly from VS Code
  • Resource templates for quick creation of common resource types
  • Bulk operations for managing multiple resources
  • Resource validation to ensure proper structure
  • Copy resource paths for easy reference

Gateway Integration

  • Multiple gateway support with environment configurations (dev/staging/prod)
  • Quick access to gateway webpage and designer
  • Project synchronization with gateway
  • Status monitoring in the status bar

Search & Navigation

  • Fast resource search across all projects
  • Content search within resource files
  • Search history for quick access to recent searches
  • Type-specific search filters
  • Quick navigation to any resource

Development Tools

  • Advanced Python IntelliSense:
    • Full autocompletion for Ignition system.* functions
    • Project script module autocompletion with inheritance
    • Automatic stub downloading based on gateway version
    • Function signatures, parameters, and documentation
  • Named query editor with SQL support
  • Perspective view JSON editing
  • Resource.json validation and auto-generation
  • External tool integration (Kindling, Designer Launcher)

Installation

From VS Code Marketplace

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
  3. Search for "Flint for Ignition"
  4. Click Install

From VSIX File

  1. Download the latest .vsix file from the releases page
  2. Open VS Code
  3. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
  4. Click the "..." menu → Install from VSIX
  5. Select the downloaded file

Quick Start

1. Initial Configuration

After installing Flint, you'll need to configure your workspace:

  1. Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
  2. Run Flint: Get Started with Flint
  3. Follow the setup wizard to:
    • Add your project paths
    • Configure gateway connections
    • Set up environments

2. Manual Configuration

Alternatively, create a flint.config.json file in your workspace root:

{
  "version": "1.0.0",
  "project-paths": [
    "/path/to/ignition/data/projects"
  ],
  "gateways": {
    "local-dev": {
      "description": "Local Development Gateway",
      "projects": ["MyProject", "TestProject"],
      "environments": {
        "dev": {
          "host": "localhost",
          "port": 8088,
          "ssl": false
        }
      }
    }
  }
}

3. Using the Project Browser

  1. Open the Flint Project Browser in the Explorer sidebar
  2. Select a gateway from the dropdown
  3. Select a project to browse
  4. Click on any resource to open it

Python Development Features

Ignition System Functions

Flint provides complete IntelliSense support for Ignition's built-in system functions:

  • Automatic stub downloading: When you first type system., Flint will prompt to download the appropriate Python stubs for your gateway version
  • Complete module hierarchy: All system modules are available (system.util, system.db, system.tag, etc.)
  • Rich documentation: Function signatures, parameter hints, and documentation are displayed
  • Offline support: Downloaded stubs are cached locally for offline development

Project Script Modules

Full autocompletion for your custom project script modules:

  • Hierarchical module structure: Navigate through nested folder structures
  • Inheritance support: Access modules from parent projects
  • Cross-module references: Import and use functions from other modules
  • Real-time updates: Changes to script modules are immediately reflected in IntelliSense

Gateway Version Support

Configure the Ignition version in your gateway settings to get version-specific autocompletion:

{
  "gateways": {
    "my-gateway": {
      "ignitionVersion": "8.1.33",
      // ... other settings
    }
  }
}

Configuration Options

VS Code Settings

Configure Flint through VS Code settings (File → Preferences → Settings):

  • flint.showInheritedResources: Show/hide inherited resources (default: true)
  • flint.groupResourcesByType: Group resources by type (default: true)
  • flint.autoRefreshProjects: Auto-refresh on file changes (default: true)
  • flint.showEmptyResourceTypes: Show resource types with no resources (default: false)
  • flint.has83DesignerLauncher: Enable 8.3+ Designer Launcher support (default: false)
  • flint.kindlingExecutablePath: Path to Kindling executable for backup viewing

Gateway Configuration

Each gateway in flint.config.json supports:

  • Multiple projects
  • Multiple environments (dev, staging, prod)
  • Custom host, port, and SSL settings per environment
  • API token authentication (8.3+)

Keyboard Shortcuts

Command Windows/Linux macOS
Search Resources Ctrl+Shift+R Cmd+Shift+R
Find in Resources Ctrl+Shift+Alt+F Cmd+Shift+Alt+F

Supported Resource Types

  • Python Scripts - Project library scripts with full IntelliSense:
    • Ignition system function autocompletion (system., system.util., etc.)
    • Custom project module autocompletion with inheritance
    • Function signatures, parameters, and documentation
  • Named Queries - SQL queries with parameter management
  • Perspective Views - UI views with component hierarchy
  • Perspective Styles - CSS style classes
  • Perspective Sessions - Session properties and events
  • Page Configurations - Perspective page settings

External Tool Integration

Kindling

View Ignition backup files (.gwbk, .modl, .idb):

  1. Install Kindling
  2. Right-click on backup files → "Open with Kindling"

Designer Launcher

Launch the Ignition Designer directly from VS Code:

  1. Install Ignition Designer Launcher (8.3+)
  2. Click on gateway node → "Open Designer"

Troubleshooting

Project Browser is Empty

  • Check that flint.config.json exists and is valid
  • Verify project paths are correct and accessible
  • Ensure at least one gateway is configured

Resources Not Showing

  • Check file permissions on project directories
  • Verify project.json exists in project root
  • Try refreshing projects (refresh button in toolbar)

Search Not Working

  • Ensure projects have been scanned (may take a moment on first load)
  • Check that resource files are not corrupted
  • Clear search history if experiencing issues

Known Limitations

  • Some complex Perspective view structures may not display correctly in the tree
  • Large projects (>10,000 resources) may experience slower initial scanning
  • Python stub downloads require internet connection on first use per version

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Development Setup

  1. Clone the repository
  2. Run npm install
  3. Open in VS Code
  4. Press F5 to launch a development instance

Code Quality Tools

Pre-commit Hooks

This project uses pre-commit hooks to ensure code quality before commits. The hooks are automatically installed when you run npm install.

The pre-commit hooks will:

  • Run ESLint to check TypeScript/JavaScript code quality
  • Fix auto-fixable linting issues
  • Format code with Prettier
  • Ensure all files pass linting with zero errors and warnings

To bypass pre-commit hooks in exceptional cases (not recommended):

git commit --no-verify -m "your message"

Manual Code Quality Checks

npm run lint        # Check code style
npm run lint:fix    # Auto-fix linting issues
npm run prettier    # Format code with Prettier
npm test           # Run all tests

Running Tests

npm test                    # Run all tests
npm run test:unit          # Run unit tests only
npm run test:integration   # Run integration tests only

License

MIT License - see LICENSE for details.

Support

  • Issues: GitHub Issues
  • Documentation: Wiki
  • Discussions: GitHub Discussions

Acknowledgments

  • Built for the Ignition SCADA platform by Inductive Automation
  • Inspired by the needs of the Ignition developer community
  • Special thanks to all contributors and testers

Note: This extension is not officially affiliated with Inductive Automation. Ignition is a trademark of Inductive Automation.

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