Skip to content

About

Integration for the official Nextflow LSP and additional features for the IntelliJ IDEA platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

JetBrains Nextflow Support

Version License JetBrains Plugin

Bring the power of Nextflow to your JetBrains IDE.

This plugin provides enhanced support for Nextflow within JetBrains environments, with a special focus on IntelliJ IDEA and PyCharm. It bridges the gap between official Nextflow tooling and native IDE capabilities.

Features

  • Official Nextflow Language Server Support: Real-time code completion, parameter hints, hover documentation, and error checking directly integrated via the official Nextflow Language Server Protocol (LSP).
  • Native Run & Debug Configurations: Effortlessly create, execute, and remote-debug your Nextflow pipelines directly from the IDE. Includes full support for Windows Subsystem for Linux (WSL). Note that debugging only works on IntelliJ IDEA.
  • Official Syntax Highlighting: Highlights Nextflow-specific syntax (like processes, workflows, channels, and operators) via official TextMate bundle integration.
  • Code Actions & Refactoring: Use LSP-powered formatting and code actions. Static-type conversion actions appear only when the connected language server supports them; newer servers have removed these commands.
  • Process Configuration Previews: Click Preview config above a process to inspect directive values, their source files, and overridden settings. Select profiles from the searchable checkbox popup to update the preview automatically; use Refresh after configuration changes.
  • File Templates: Quickly bootstrap your projects with built-in templates for .nf, .nf.test, and nextflow.config files.
  • Interactive Nextflow Console: Launch an interactive REPL console to test Nextflow logic directly within the IDE.
  • Dedicated Tool Windows: Specialized project and resource panels to better manage and interact with your Nextflow environment.
  • nf-core Support: Integrated support for managing nf-core-based pipelines, with a dedicated tool window (requires nf-core/tools).

Screenshots

Editor PreviewDag RunConfigurations PopupDocumentation NfCoreCommands NfCoreBrowser NewNextflowFile SettingsMenu

Development

The project is built using Gradle. Here are the common commands used for development:

Running in a Sandbox IDE

To launch a lightweight JetBrains IDE instance with the plugin installed for manual testing:

./gradlew runIde

Stop the sandbox IDE and rerun this command after plugin changes. Automatic plugin reloading is disabled because an unsafe reload can remove Nextflow file recognition until the IDE restarts.

Building the Plugin

To build the complete plugin distribution (which outputs a ZIP file in build/distributions):

./gradlew buildPlugin

Running Tests

To run the automated test suite:

./gradlew test

Automated tests use AWT headless mode on every OS and disable embedded Chromium. Check graphical DAG rendering in the sandbox IDE.

Checking IDE Compatibility

Run binary compatibility checks against the development IDE (2026.1.1) and IDEA 2026.1.5:

./gradlew verifyPlugin

The first run downloads the verifier and the additional IDE. Reports appear in build/reports/pluginVerifier/. CI runs this check for pull requests and branch pushes; the release workflow also requires it before publishing.

Pass LSP request timeouts explicitly. Omitting the timeout generates a Kotlin $default call that breaks when an IDE moves the method to a parent interface.

Credits / See Also

This plugin utilizes and integrates with the official Nextflow language server:

Textmate bundles and feature inspiration are from the official Nextflow VSCode extension:

About

Integration for the official Nextflow LSP and additional features for the IntelliJ IDEA platform

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages