For instructions on installing the Dart or Flutter extensions, go here.
Provisional Release Notes
These release notes are provisional and may change before this version is published.
v3.120.0 2025-09-??
Flutter
- #5713: When downloading the Flutter SDK through the extension, the File Dialog now defaults to the users home directory.
- #5711: The Dart: Add Dart SDK to PATH and Flutter: Add Flutter SDK to PATH commands (and associated actions during the Flutter SDK download) are now available on both Mac and Linux (for Bash and Zsh) in addition to Windows.
Testing
- #5729/#5727: A new setting
dart.experimentalTestTracking
enables tracking of tests within files. This should improve the reliability of test gutter icons and the “Go to Test” commands for tests that are not discoverable statically (for example dynamic tests, or those usingpkg:test_reflective_loader
). This will be enabled by default in a future release. - #5721: Code coverage is no longer collected for other packages that contain the name of the package being tested (for example if your app is named
app
, coverage will not be collected forpkg:app_links
). - #5706: Code coverage is now correctly collected when your package name in
pubspec.yaml
does not match the name of the folder the package resides in. - #5693/#5696: Changes to test files made externally (for example by terminal-based coding agent) are now detected and the Test Explorer updated.
- #5682: A small delay has been added before showing “Starting debug session…” to avoid the notification appearing briefly for debug sessions that start quickly.
Commands
- #5684: A new command Flutter: Clean All Projects cleans all Flutter projects in the workspace.
- #4696: Commands related to Dart Observatory are now hidden for Dart SDKs since 3.9 (when Observatory was removed).
Editor
- #5694/#5695: Ctrl+Click on
package:
links in terminal/documents will no longer sometimes jump to the wrong version of a package. - #5692/#5698: Ctrl+Click on
package:
links will now show a Peek window showing multiple results when there are multiple versions of a package in the workspace and the link had no context to narrow to a specific version.
Debugging
- #5712: The Debug: Attach to Dart Process command now makes it clearer that a port number can be provided instead of a full URL.
- #5670: The current open file is no longer used as a hint for what to launch when an explicit launch config is selected from a different workspace folder.
- #5397: An issue with isolates appearing as “paused on entry” even if they’re not paused has been fixed in the upcoming release of VS Code.
Dart Tooling Daemon (DTD)
- #5725/#5726: The
navigateToCode
editor service is now registered with DTD and can be called by other DTD clients to navigate the editor to a specific file/line/col. - #5718/#5720: The
getActiveLocation
editor service is now registered with DTD and can be used to get the open file/line/col. This complements the existingactiveLocationChanged
event stream.
Firebase Studio
- #5680: Embedded DevTools pages no longer intermittently fail with errors like “Failed to connect to DTD” or “Failed to connect to VM Service” when running in Firebase Studio.
- #5158: All embedded DevTools pages should now work when running in Firebase Studio.
- #5683: The extension now starts up faster when running in Firebase Studio.
Features/Fixes Enabled with Future SDKs
The following items depend on changes to the Dart/Flutter SDKs that have not yet been released to stable channels. They may be available to test in the current beta/master channels and will show up in future SDK releases.
Widget Preview
Several improvements have been made to the integration with the Widget Preview functionality (which currently requires the Flutter master
branch).
- #5722: The Flutter: Show Widget Preview command now makes the view visible even if run during startup.
- #5702/#5715: Theme information from VS Code is now passed through to the Widget Preview.
- #5691: Widget preview processes are no longer leaked on Windows.
Misc
- #5600: A new setting
dart.inlayHints
has been added to control which Inlay Hints are enabled (requires Dart 3.10) - #5661: Devices/platforms that are not currently enabled can once again be enabled from the Flutter Sidebar.
- #5652: Code completion for overriding methods once again sets the cursor position after completion.
Upstream Issues
Some feature requests and fixes require new features and fixes in upstream projects like VS Code and LSP which use counts of 👍s on those issues to help gauge demand. The Dart-Code website now lists some of the most significant upstream issues with a description of the feature/fix they would enable. Please consider reviewing this list and adding your 👍 to any GitHub issues relevant to features you’d like to see!