A comprehensive IntelliJ IDEA plugin that provides advanced language support for Google Cloud Dataform projects, enabling developers to work efficiently with SQLX files and Dataform workflows.
- Syntax Highlighting: Full syntax highlighting for SQLX files with support for SQL, JavaScript, and config blocks
- Code Completion: Intelligent code completion for:
- Dataform built-in functions (
ref(),declare(),publish(), etc.) - JavaScript symbols and TypeScript definitions
- Workflow settings and configuration properties
- JSON schema-based completion for configuration files
- Dataform built-in functions (
- Code Navigation: Navigate between references, includes, and declarations
- BigQuery SQL Support: Native BigQuery SQL dialect integration with proper syntax validation
- SQL Injection: BigQuery SQL support within SQLX SQL blocks with template expression handling
- JavaScript Injection: Full JavaScript/TypeScript support in JS blocks
- Config Injection: JSON-based configuration with schema validation
- Template Injection: Support for Dataform template expressions
- File References: Navigate to included files and definitions
- Symbol References: Jump to function declarations and usages
- Workflow Settings References: Link to workflow configuration properties
- Module Builder: Create new Dataform projects with proper structure
- CLI Integration: Automatic Dataform CLI installation and setup
- Project Indexing: Fast indexing of Dataform core definitions and JavaScript symbols
- Download the plugin from the JetBrains Marketplace (once published)
- Install via IntelliJ IDEA:
Settings→Plugins→Marketplace→ Search for "Google Cloud Dataform" - Restart IntelliJ IDEA
- IntelliJ IDEA 2025.3.2 or later
- Java 21 or later
- Node.js (for Dataform CLI)
File→New→Project- Select "Dataform" from the project types
- Configure your project settings
- The plugin will automatically set up the project structure and install the Dataform CLI
- Create or open
.sqlxfiles in your Dataform project - Use code completion (
Ctrl+Space) for Dataform functions and BigQuery SQL - Navigate between references using
Ctrl+ClickorCtrl+B - Benefit from syntax validation and error highlighting
workflow_settings.yaml: JSON schema validation and completiondataform.json: Project configuration with schema support- Package definitions with TypeScript type information
./gradlew build./gradlew runIdesrc/main/java/io/github/rejeb/dataform/
├── language/
│ ├── completion/ # Code completion contributors
│ ├── injection/ # Language injection (SQL, JS, Config)
│ ├── lexer/ # Lexer for SQLX files
│ ├── parser/ # Parser definition
│ ├── psi/ # PSI elements
│ ├── reference/ # Reference resolution
│ ├── service/ # Indexing and core services
│ └── util/ # Utility classes
├── projectWizard/ # New project wizard
└── setup/ # CLI installation and setup
- Kotlin: Plugin implementation
- JFlex: Lexer generation
- IntelliJ Platform SDK: Core plugin functionality
- Google Cloud Dataform API: Dataform integration
- BigQuery Dialect: SQL support
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Contributions are welcome! Please feel free to submit issues and pull requests.
rbenrejeb
- GitHub: @rejeb
For issues and feature requests, please use the GitHub issue tracker.