For instructions on installing the Dart or Flutter extensions, go here.
Preview: VS Code Test Runner Integration
#3147/#3538: Initial support for VS Code’s new test runner is available behind the
dart.previewVsCodeTestRunner preview setting.
The test runner in VS Code provides consistency across all languages and has some additional functionality that is not possible to build in extensions. In the coming releases the custom test runner in Dart-Code will be removed in favor of the VS Code runner.
The VS Code test runner looks a little different to Dart-Code’s and will persist results across sessions (this means you may see results from the last time you ran a test, even if it was in another VS Code session).
The VS Code test runner also adds new gutter icons showing the last state of a test that can be clicked to run the test (or right-clicked for a context menu).
Many of the existing Dart-Code test commands are available as built-in VS Code test runner commands (and in future, the Dart versions of these commands will be removed).
Improved Version Completion in pubspec.yaml
#2078: Version number completion in
pubspec.yaml has been improved. Previously version numbers only showed up if you had previously completed that packages name, but now also show up for all packages that are in the saved version of
pubspec.yaml. Versions maybe be annotated with
latest compatible to indicate whether there are other package constraints preventing you from using the latest.
These changes require an updated SDK so may not be available yet depending on your SDK channel and also may be unavailable if LSP is disabled (with
"dart.previewLsp": false in your VS Code User Settings).
Settings for Flutter: New Project
- #1153/#1339: To improve discoverability, settings that affect creating new Flutter projects (such as the Organization name used in bundle identifiers and which languages to use for iOS/Android parts) are now available from a new Settings button when creating the new project. Changes made here will update your VS Code settings automatically, persisting across sessions.
- #3540: You’ll now be prompted to fetch packages if you open a Flutter project where
flutter pub getwas last run using a different Flutter SDK to the one you have selected. This will also appear after you switch Flutter SDK using the status bar.
- #3502: Fixes and assists produced by Dart analysis server plugins are now available when using LSP (requires SDK update).
- #3270: Several issues that may have contributed to the formatter running endlessly have been addressed (some require an SDK update). If you continue to experience this issue after the next major Dart/Flutter SDK release, please file new issues on GitHub.
- #3517: tomgilder contributed support for opening external links from embedded DevTools views. This change also requires a related update in DevTools so will not work until that fix is also released and your DevTools has been updated.
- #3501: The “Add Dependency” command now lists packages from the Flutter SDK (like
flutter_driver) instead of only packages listed on Pub.
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!