For instructions on installing the Dart or Flutter extensions, go here.
v3.20.1 2021-03-03
- #3173: LSP Support is now enabled by default for some users. This will be extended over coming releases to include all users though can be opted-out by explicitly setting the
dart.previewLsp
setting tofalse
.
v3.20.0 2021-03-01
Testing
#3048/#3131: The ability to run Skipped tests (--run-skipped
) has been added to the test runner toolbar and context menus. This is currently only supported for Dart projects but will be enabled for Flutter projects in a future version. This allows a tests to be run even if they are annotated with skip: true
to check their status without needing to modify the code.
#3097: Additionally, running a specific test from CodeLens links will always pass --run-skipped
when supported, making it easy to run skipped tests directly from the editor.
Other test runner changes include:
- #3156: Test suite/group nodes overall status now only shows as Skipped if the whole group is skipped (if a group has a mix of pass/skip the overall status will show as Passed).
- #3146: Viewing test output from the last run of a test has been moved to the context menu rather than automatically opening when clicking on a test in the tree (this caused some confusion due to switching from the Debug Console to a pseudo terminal).
- #3119: Newlines in test/group names are now removed to show more of the name in the test tree node.
- #3154: Test output is now cleared on each new run, so only output from the last is shown.
Flutter
#3110/#3122: The hot-reload-on-save setting now has an additional option to reload on all saves (including auto-saves) as well as just manual saves.
- #3118/#3123: The
hotReloadProgress
no longer (incorrectly) applies to build progress. Build progress will once again show as notifications regardless of this setting. - #3149: When Flutter needs initializing at project load (for example after an SDK update), a different Dart SDK version (for example from
PATH
) will no longer be selected instead of the one provided by the Flutter SDK.
Editor
Items here marked “(requires SDK update)” rely on changes in the Dart/Flutter SDKs so may not be immediately visible depending on your Dart/Flutter SDK channel.
- #3141: The Create file quick-fix on
import
s no longer fails to create files when using LSP (requires SDK update). - #3104: New
import
s inserted by fixes or code completion will no longer be inserted above file-wide annotations such as@TestOn()
(requires SDK update). - #3103: The Extract Method and Extract Widget refactors now prompt for names when using LSP.
- #3074: Changes made to generated Flutter localizations (in the synthetic
l10n_gen
package) are now detected by the analyzer without a restart (requires SDK update). - #2998: Code completion now supports “insert mode” (
Shift
+Enter
) when using LSP (requires SDK update). - #2854: The warning “Code actions of kind ‘quickfix ‘requested but returned code action is of kind ‘refactor.extract’.” is no longer shown in the console when key-binding specific fixes.
- #584: Refactors/fixes that insert multiline code generate correct indentation when using LSP.
- #2816: Renaming a named constructor no longer adds an additional dot in Dartdoc comments, breaking the reference to the constructor (requires SDK update).
- #3161: When using LSP with semantic tokens, the
@
of annotations are now coloured the same as variables by default.
Debugger
- #3167: Launching non-Flutter web apps no longer fails with an error about “devtools-server-address” if DevTools has been started for the current session.
Commands
- #3162: The current DevTools version is now shown in a tooltip when hovering over DevTools in the status bar.
- #3158: The Dart: Reanalyze Project and Open Diagnostic Server commands no longer fail when using LSP.
- #3145: The Flutter: Run Flutter Doctor command no longer reports a spurious error if Flutter failed to initialize at startup.
- #3138: Activating global Pub packages like
devtools
andwebdev
will no longer report failures if the latest published stable version is not compatible with your current SDK.
Other
- #3142: DevTools is no longer eagerly/background-activated for non-Flutter workspaces.
- #3120: New releases of DevTools are now detected and installed even when DevTools is eagerly/background activated.
- #3135: Failing to send analytics no longer reports an error and disables sending analytics for that whole session.
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!