Dart Code
Dart & Flutter support for Visual Studio Code

For instructions on installing the Dart or Flutter extensions, go here.


Outline View

VS Code 1.24 includes an Outline preview feature. This version improves the data provided to Code to allow rendering the symbol data in a tree.

Getters in Debug Views

Debugger views such as Variables, Watch and tooltips will now include getters as well as fields.

This is enabled by default but since getters could have side-effects you can disable this per-projects using the dart.evaluateGettersInDebugViews workspace setting.

Complete Statement

A new Complete Statement command has been added. This command will attempt to finish the current line you’re editing by adding things like closing brackets and semicolons before moving the cursor to the next line. You can bind this command to a key by running the Open Keyboard Shortcuts command in the command palette.

Daemon Progress Notifications

After installing a Flutter update via flutter upgrade or switching channel with flutter channel the first invocation of Flutter will download dependencies and build tools. If this hadn’t happened before opening VS Code then this would happen quietly in the background when Dart Code invoked the device daemon which resulted in unexpected behaviour (for example no devices being detected or delays in launching). Now when this happens, Dart Code will show notifications of what’s happening in the background so it’s clear why devices haven’t been detected (yet).

Improved Termination of Processes

A number of issues with terminating Dart and Flutter processes have been resolved, including:

Some of these fixes rely on support from the Flutter tools which means they only work when using a very recent Flutter SDK. Flutter’s master channel already has these changes but it may take a little longer to filter through to the dev and beta channels.

Simplified Diagnostic Log Capturing

A new command has been added to simplify collecting logs when reproducing/reporting issues in Dart Code/Flutter/Dart. It’s named Dart: Capture Logs in the command palette.

You’ll be prompted to select a location/filename for the log file and then a notification will appear informing you that logs are being captured.

When you click Stop Logging the resulting log file will be opened in the editor for you to review before you attach to a GitHub issue. Currently this file will include all types of logging (Analysis Server, Observatory, Flutter Run, Flutter Test, Flutter Daemon) so you should start it as close to reproducing your issue as possible. The option to select which log sources to capture may be added in a future update.

Other Changes

Fork me on GitHub