For instructions on installing the Dart or Flutter extensions, go here.
v3.78.2 2023-12-11
#4880: Using “Run” / “Run without Debugging” will now still connect the debugger to the Dart VM Service (but disable breakpoints and pause-on-exception). This restores some functionality that had become unavailable recently in Run mode, such as:
- #4878: Flutter Widget inspector navigating the code editor as widgets are inspected
- #4875: Logging from the
log()
function indart:developer
showing up in the Debug Console
#4876 has been opened to review (and document) the differences between Run/Debug going forwards. If you have an opinion on this difference, please comment!
v3.78.0 2023-11-30
Flutter Sidebar
#4762/#4833 If you’ve upgraded to the recently-released Flutter 3.16 you’ll have access to a new sidebar panel in VS Code when working on Flutter projects:
The panel currently includes:
- a list of current running debug sessions with buttons to Hot Reload, Hot Restart, and to quickly launch DevTools features
- a list of connected devices that you can use to launch your application on
Code Completion Signatures
#2462: Also when using Flutter 3.16 / Dart 3.2, code completion has been improved to include more detailed signatures for all items instead of only the one currently selected.
Lazy Getters in Debugger
#4234: Setting "dart.evaluateGettersInDebugViews": false
will no longer completely hide getters in debug views, but instead provide a clickable button that will evaluate them lazily.
To completely hide getters you can use the new setting "dart.showGettersInDebugViews": false
.
Flutter
- #4571: When using the new SDK debug adapters, formatting of Flutter errors in the Debug Console has been improved to have the same colouring and emphasizing of user stack frames in stack traces as the legacy debug adapters.
- #4823: The tooltip on the selected device in the status bar now updates correctly when devices change and includes counts of both all devices and those enabled for the current workspace.
- #4839: Failures to launch Android emulators are no longer silent and will be shown in an Output pane.
Editor
- #4624: Inlay hints are now included for patterns.
- #4837: An issue that caused closure code completions to stop showing up in Dart 3.2.0 has been fixed (and hot-fixed into Dart 3.2.2).
DevTools
- #4832: The “Open DevTools in browser” action should no longer sometimes fail when using the new Flutter sidebar panel.
- #4828: The
dart.customDevTools
setting now running DevTools from source now works on Windows (this setting is intended for contributors to DevTools to allow testing it embedded). - #4827: The
dart.customDevTools
setting now usesdevtools_tool serve
instead of the legacybuild_e2e
script.
Debugger
- #4543: The new SDK debug adapters are now enabled for all users on recent Dart and Flutter SDKs.
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.
- #4849: Rename and Go-to-Definition now work for for-each elements in top-levels and expression bodied functions.
- #4843: The “switch expression” snippet now shows up after the
return
keyword. - #4836: The
Use imported library with prefix
quick fix no longer puts the prefix at the wrong position when the member has annotations. - #4834: Closure code completions will now include the
required
keyword where necessary when completing functions. - #4186: Links in Flutter DartDocs (“See code in example/…”) are now correctly highlighted as links without having to Ctrl+hover.
- #4540/#4814: The “copy to clipboard” buttons in embedded DevTools are now able to write to the clipboard.
- #4820/#4831: The Flutter sidebar is now able to show platforms that have not yet been enabled, and trigger enabling of them.
- #4862: The error “Unable to edit document because the file was not previously opened” that could occur when using
"dart.onlyAnalyzeProjectsWithOpenFiles": true
and analyzer plugins has been resolved.
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!