IDE Setup

This page describes how to set up an IDE to develop Flutter apps.

Flutter IDE plugins

You can write Flutter apps in a text editor, but if you desire a rich IDE experience we recommend using Android Studio or IntelliJ IDEA. Our Flutter and Dart plugins for these IDEs support editing, running, and debugging Flutter apps.


You can use the plugins with the following IntelliJ platform IDEs:

Both IntelliJ CE and Android Studio are free to use and supported for Flutter development.

Installing the plugins

To use these IDEs with Flutter, you need two plugins:

  • The Flutter plugin powers Flutter developer workflows (running, debugging, hot reload, etc.).
  • The Dart plugin offers code analysis (code validation as you type, code completions, etc.).

When you install the Flutter plugin, if the Dart plugin is not already present IntelliJ installs it for you.

To install the plugins:

  1. Start IntelliJ IDEA or Android Studio.
  2. Open plugin preferences (Preferences>Plugins on macOS, File>Settings>Plugins on Windows & Linux).
  3. Select Browse repositories…, select the Flutter plug-in and click install.
  4. Click Yes when prompted to install the Dart plugin.
  5. Click Restart when prompted.

Creating your first project

  1. Select File>New Project (in IntelliJ) and then Flutter, or File>New Flutter Project (in Android Studio)
  2. If prompted for a Flutter SDK path, enter the location of your SDK directory. This is the top-level flutter directory, without the bin subdirectory. For example, c:\Users\obiwan\flutter / /Users/obiwan/flutter.
  3. Click OK

Using the IDEs for Flutter

See our additional documentation for tips on developing Flutter apps with Android Studio or IntelliJ IDEA.

Community supported IDEs

There are number of additional IDE & editor options available enabled by community contributions:

  • VS Code with the Dart Code plugin for VS Code offers a lightweight IDE with rich Flutter support for editing, refactoring, running, debugging, and hot reloading Flutter code.

  • The Flutter terminal tool from the Flutter SDK combined with a Dart-enabled editor provides the flexibility of your favorite editor while maintaining support for core Flutter development workflows.