For instructions on installing the Dart or Flutter extensions, go here.
v3.60.1 2023-03-01
- #4413: Rollout of the SDK debug adapters for Flutter has been paused due to an issue debugging web apps when using current Flutter
master
.
v3.60.0 2023-03-01
Flutter
- #4401: Saving a
.frag
file now triggers a Hot Reload. - #4374: Flutter tests with backticks in their name no longer fail to run from CodeLens links.
- #4370: Debug sessions will no longer get stuck “Waiting for connection from debug service” when running on Web devices using older Flutter SDKs.
#4314: Rollout of the new SDK debug adapters has been resumed for Flutter SDKs >= 3.8.0-16 (currently only theReverted in v3.60.1.master
channel).
Terminal
- #737: A new setting
"dart.addSdkToTerminalPath"
enables automatically adding your current SDK to thePATH
environment variable for built-in terminals. This works with quick SDK switching and ensures runningdart
orflutter
from the terminal matches the version being used for analysis and debugging. To avoid losing terminal state, VS Code may require you to click an icon in existing terminal windows to restart them for this change to apply (this is not required for new terminals). This setting is opt-in today, but may become the default in a future release.
Testing
- #4398: Profiles for running tests from gutter icons should no longer show up in projects where
package:test
is not supported (such as in the Dart SDK).
Debugger
- #4360: Detection of which packages come from Pub (used by the “Debug my code / Packages / SDK” options) has been updated to work correctly with Dart >= 2.19 when using the legacy debug adapters.
- #4379: Asserts are now enabled by default for “Run without Debugging” sessions. This was the original and intended behaviour but was lost in a recent refactor. You can use
"enableAsserts": false
inlaunch.json
to change this behaviour. - #4390: Logging of debugging sessions is now (temporarily) only available if logs are being captured when the debug session starts. Forwarding VM Service logs can be expensive when there is lots of VM Service traffic (such as when spawning lots of Isolates) which was causing high CPU. A future release will allow this logging to be enabled dynamically without forwarding all logs when not capturing.
DevTools
- #4363: Pressing
Ctrl+A
/Cmd+A
in embedded DevTools should no longer “select” the whole frame.
Other
- #4373: The initial startup prompt to use recommended settings will no longer be shown if there are already some Dart settings defined.
- #4378: Drive letters on Windows are now always normalised to uppercase when sent to the Dart Analysis Server to avoid some compatibility issues.
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 will show up automatically after you upgrade to the next (non-hotfix) Dart/Flutter SDK release in future. If you’re using a recent bleeding-edge version, these items should already be available to you and any issues should be reported on GitHub in the usual way.
- #4193: When using the new SDK debug adapters, “Inspect Widget” will now navigate the editor to the location that created the widget (as the legacy debug adapters already did).
- #4330/#4337: Calling
dart:developer
’sinspect()
now dumps a variable to the Debug Console in the new SDK debug adapters to match the legacy debug adapters. - #4376: Selecting a class/mixin/extension name in its declaration now highlights other references to the type.
- #4312: The “Add type annotation” action no longer incorrectly includes default values for function types.
- #4406: Inlay Hints for type arguments are now correctly nested so that each part of the type can be hovered over/navigated to.
- #4366: Inlay Hints are now shown for inferred type arguments on invocations and
List
/Set
/Map
literals. - #4372: The
Never
type is now correctly syntax highlighted. - #4320:
catch
block parameters are now correctly syntax highlighted. - #4352: Nested variables in the Variables panel now have accurate “evaluate names” assigned to them, allowing functionality like “Copy Expression” or “Add to Watch”.
- #4400: Errors in the Variables panel no longer show “unknown” instead of the exception text when using the new SDK debug adapters.
- #4358: Invalid debug configurations that pass invalid arguments to the Dart VM no longer appear to hang when using the new SDK debug adapters and instead show the full error message.
- #4266: The Dart: Capture Debugging Logs command now captures
flutter run
traffic when using the new SDK debug adapters. - #4280: The Dart Analysis Server no longer consumes significant CPU and memory on Linux if VS Code restores a dirty file buffer at startup for a file inside a folder that no longer exists.
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!