For instructions on installing the Dart or Flutter extensions, go here.
v3.114.0 2025-07-01
Flutter
- #5541: The
dart.previewHotReloadOnSaveWatcher
setting that allows triggering Hot Reload for external file modifications will no longer trigger while a Flutter app is still building/starting which could lead to the error “org-dartlang-app:/web_entrypoint.dart does not exist” when usingpackage:flutter_localizations
. - #5553: Setting
"dart.hotReloadProgress": "statusBar"
now correctly shows Flutter hot reload progress in the status bad instead of toast notifications. - #5552: Saving multiple files with Save All should no longer result in multiple “Hot Reloading…” notifications (except where delays in save actions result in different files being saved at different times).
Editor
- #5562: The error “Unknown Outline item: TYPE_ALIAS” no longer appears in the developer console when editing files with generic type aliases.
Testing
- #5544: Gutter test markers for tests that use
package:test_reflective_loader
should no longer jump back to incorrect locations when modifying files. - #5534: When using the upcoming VS Code v1.102, failed tests will now show the test path in the Test Results tree just like passing tests do.
Debugger
- #5520: It’s now possible to specify
emulatorId
instead ofdeviceId
in a launch configuration. This will automatically be mapped to the correctdeviceId
during launch, and if the emulator is not already running it will first be started. - #5535: It’s now possible to explicitly set a
debuggerType
field on a launch configuration. The correct debugger type should be selected automatically so needing to use this may indicate a bug (outside of some particular cases such as other extensions starting Dart attach debug sessions within Flutter projects).
Commands
- #5563: Saving a
pubspec.yaml
in a Pub Workspace where the root folder is not open within the VS Code workspace will no longer prompt asking which project to fetch packages for. - #5533: The Change where DevTools appears command is now available from the overflow menu for DevTools panels embedded as editors (in addition to the sidebar where it showed previously).
- #5502: The Add Dependency command will now allow selecting which projects to add the dependency to, with the project for the active file pre-selected, instead of just automatically adding to the project for the active file.
- #5513: When using the Restart Analysis Server command, a log file of recent events will now be recorded and a notification shown with a button to open this log. If you find yourself using this command frequently, please file a bug with the log file.
Dart Tooling Daemon
- #5526/#5527: Debug sessions are now registered with DTD via the
registerVmService
/unregisterVmService
methods when they are available.
Misc
- #5536: The location of the
.dart_code
folder (which can be used for automatically launching/attaching debug sessions at startup) can now be overridden with the environment variableDART_CODE_CONFIGURATION_PATH
.
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.
- #5548: Some operations on local variables (such as Rename or Find References) no longer fail if the variable is in a folder that exists in the current workspace multiple times (for example because both a parent and child folder are explicitly added to the workspace).
- #5547: Variables introduced by
for
loops and record destruction are now included in Inline Values. - #5532: Lists inspected in the debugger at the top level (for example by hovering) are now paged in the same way as child fields which improves performance and avoids stalls for very large lists.
- #5499: The
dart.documentation
preference now only applies to requests that return multiple sets of documentation (for example Code Completion). This means single requests like Hovers will still always show documentation even ifdart.documentation
is set tonone
orsummary
(as is the default in remote workspaces). - #5454: Inline Values are no longer shown in branches unless current execution is within that branch. This avoids showing values against code that was not executed.
- #4678: When adding/removing a breakpoint in a file, all other breakpoints in that file are no longer unverified and then re-verified resulting in flickering between grey/red states.
- #5554: Triggering multiple Hot Reload requests in a short space of time no longer results in some requests failing with “Bad state: StreamSink is bound to a stream.”.
- #5551/#5555: A new opt-in setting
dart.mcpServer
enables automatic registration of the Dart MCP server with VS Code if the current SDK includes it (Dart v3.9.0-163.0.dev or later).
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!