Dart Refactoring Pro

Dart Refactoring Pro

Dart Refactoring Pro is an IntelliJ plugin that brings powerful, automated refactorings to Dart codebases.

The plugin is currently in alpha. Get it from the JetBrains Marketplace:

To find the plugin from inside the IDE, add the official JetBrains Marketplace Alpha channel to your plugin repositories: Settings → Plugins → ⚙️ → Manage Plugin Repositories → + Then paste: https://plugins.jetbrains.com/plugins/alpha/list


Refactorings

Introduce Parameter

Keyboard shortcut: P (macOS) / Ctrl Alt P (Windows/Linux)

Extract an expression into a new parameter, replacing the selected expression with the parameter reference and updating all call sites.

  • Works with a caret position or a selected expression range
  • Supports enums and static members
  • Includes pre-flight validation before making any changes

Move Top-Level Declaration

Keyboard shortcut: F6

Move any top-level declaration (class, function, variable, typedef…) to another file in the same package. The plugin automatically:

  • Updates all import statements across the codebase
  • Adds missing imports to files that reference the moved symbol
  • Removes imports that are no longer needed
  • Sorts all affected import blocks
  • Supports moving multiple declarations at once

Delete Parameter

Keyboard shortcut: Delete (macOS) / Ctrl Delete (Windows/Linux)

Remove a parameter from a function or method signature and eliminate the corresponding argument at every call site throughout the project.

Introduce Field

Introduce a new field from a selected expression or constructor parameter, initializing it in the constructor and replacing usages throughout the class.

Extract Superclass

Extract a new superclass from an existing class, moving selected members up into the new parent class.

Inline Superclass

Inline a superclass back into its subclass, merging all members down and removing the superclass.

Paste with Imports

When you copy a Dart class or function from one file and paste it into another, the plugin automatically adds any import statements that the pasted code needs — no manual import hunting required.

  • Detects which imports in the source file are relevant to the copied text
  • Adds only the missing imports to the destination file
  • Triggered by the standard Paste shortcut — no extra steps needed