VS Code extensions v3.27.0

Skip to first unread message

Danny Tuppeny

Oct 4, 2021, 12:28:28 PM10/4/21
to flutter-...@googlegroups.com

Hi all,

v3.27.0 of the VS Code extensions have been published. Release notes are below (and online).

Test Runner Improvements

#3574/#3572: Integration with the new VS Code Test Runner is now enabled by default. Some additional improvements have been made to the integration.

The test tree previously only populated from the file contents when it was first opened, and subsequently only when tests ran. Now the tree updates periodically as the file is modified, including removing tests that have been removed from the file without needing to re-run the whole file or clear the test results.

Dynamic tests (those with variables in their name or using features like Flutter testWidgets variants) are now grouped under a parent node using the name of the test from the editor. As well as being easier to manage, these can now be removed from the tree if the test definition is renamed rather than remaining until you re-run the entire file.

Failed tests will now show their failure message with an expandable Peek window containing the output and history for the test (some of this functionality requires the upcoming VS Code 1.61 release).

Running multiple tests from a gutter icon/tree node are now grouped together by suite so that they run more quickly rather than a separate debug session per-test.


  • #3580: Running commands like Flutter: New Project in an empty workspace will now correctly initialize the Flutter SDK automatically.
  • #3564: The colour of the Flutter UI Guides (preview) can now be controlled with the "dart.flutterUiGuides" color in the "workbench.colorCustomizations" setting.
  • #3585: Flutter UI Guides (preview) are now offset by 2px from VS Code’s indent guides to avoid obscuring them.
  • #3554: The various Flutter: New XYZ Project commands have been folded together into a single Flutter: New Project command that lists the available types. Included in this list is the new “skeleton” project template added in Flutter 2.5.0.
  • #3552: If a platform has been disabled (for example by running flutter config -no-enable-android) the “Enable Android for this project” open in the device manager will now offer to enable it globally before enabling it for the project.


  • #3576: Running Dart scripts with no specific folder open in VS Code has been improved. Instead of requiring a launch.json or the script to be inside a binlib or tool folder, loose files will just be run directly when pressing F5 or clicking the Play/Debug icons on the editor title bar.


  • #3546: Nested multiline comments will longer cause the following parts of the document to be colored as comments.
  • #3236: A new setting "dart.normalizeFileCasing" has been added that will normalize all file casing when interacting with the analyzer. This may resolve issues where the the file_names lint still triggers errors because VS Code continues to use the original casing in its API. This setting is disabled by default because there is a small performance hit to hitting the filesystem to find the natural case of a file.


  • #3561: The Dart/Flutter: New Project commands now default to the folders last used when invoking these commands.
  • #3545: All commands/actions that call pub will now use dart pub since the top level pub command is being deprecated.

Docs / website


  • #3577: The "dart.useKnownChromeOSPorts" setting now defaults to false as it should no longer be required. This setting will be removed in a future update so if you find you need to re-enable this, please file an issue on GitHub with details.

Features Enabled with Future SDKs

These features rely on changes to the Dart/Flutter SDKs that have not yet been released to stable channels. They will show up automatically when you update your SDK in future (or if using development channels depending on the exact version).

Renaming Files with Classes

#3354: A new setting "dart.renameFilesWithClasses" has been added that allows automatic renaming of files (and updating imports) when classes are renamed if the class/filename match. The allowed options are "never""prompt" and "always""never" is the default and disables renaming. "prompt" will ask on each rename, and "always" will rename without prompting.

For the rename to work, the class name and the filename must match (apart from differences in PascalCase for class names and snake_case for files).

New TODO Comments Types

#2364: In addition to TODO, several new comment prefixes are recognised and generate diagnostics - HACKFIXME and UNDONE. These can be ignored using the analysis_options.yaml file.

Editor Changes

  • #3555: Code completion will no longer show duplicates if an analysis server plugin is enabled that is interested in Dart files.
  • #3542: The Assign value to new local variable code action will use final instead or var when the prefer_final_locals lint is enabled.
Reply all
Reply to author
0 new messages