For instructions on installing the Dart or Flutter extensions, go here.
v3.29.0 2021-12-01
Editor
- #3682: Code completion now re-triggers automatically after completing an argument name (
foo:
). - #3645: Signature help now triggers automatically after completing an invocation that has arguments.
- #3620/#3649: Go-to-Definition now uses cached data for improved performance when using the original (non-LSP) language server protocol.
Testing
- #3693:
toolArgs
in a launch configuration are no longer ignored when running a single group/test from CodeLens. - #3687: A new setting
dart.suppressTestTimeouts
has been added that overrides the default test timeout to avoid timeouts while debugging. In the current form it only applies to tests that don’t explicitly override the timeout but in a future update the setting will use ‘package:test’s upcoming –ignore-timeouts flag to also ignore explicit timeouts. - #3665: For multi-project workspaces, running tests from multiple projects at once now shows the correct test counts instead of only the last projects tests that completed.
- #3537/#3673: The legacy test runner (and its associated commands) has been removed from the extension. All functionality should now be available through the built-in VS Code test runner and its own commands.
Debugger
- #3685: The
dart.vmAdditionalArgs
setting andvmAdditionalArgs
launch configuration option have been updated to work for both CLI scripts run withdart
and tests run withdart test
. - #3691: A new setting
dart.cliAdditionalArgs
has been added to inject args into only Dart CLI script invocations. - #3689: A new setting
dart.testAdditionalArgs
has been added to inject args into onlydart test
test invocations. - #3637: A new setting
dart.reloadOnSave
has been added to suport hot reloading on-save for Dart projects. This is separate todart.flutterHotReloadOnSave
so behaviour can be configured independently and unlike Flutter, it defaults to off for Dart. - #3656: A new launch configuration option
customTool
allows replacing the tool used when launching debug sessions (dart
orflutter
). The replacement tools must be compatible with the tools they replace. This may be useful for wrappingdart
/flutter
with custom behaviour, or running throughbuild_runner
. ThecustomToolReplacesArgs
option allows the custom tool to also replace the first x arguments from the constructed command.
Flutter
- #3647/#3650: @guidezpl added icons against devices in the device picker and status bar based on their types.
- #3676: The Flutter: Cancel Widget Inspection now correctly appears in the command palette when in Inspect Widget mode.
Commands
- #3635/#3683/#3684: @EhsanAramide contributed support for adding Git and path dependencies via the Dart: Add Dependency command. URLs and paths can be pasted directly into the input box, or you can select the option for path/Git URL for some additional options/a filepicker.
Other
- #3698: Running the analysis server with VM Service enabled using the
dart.analyzerVmServicePort
setting no longer fails when running in LSP mode. - #3608/#3652: @guidezpl grouped all extension settings into categories in the VS Code settings UI.
- #3657: A single complete changelog for all versions of the extensions is now available at dartcode.org/releases.
Features Enabled with Future SDKs
These items rely on changes to the Dart/Flutter SDKs that have not yet been released to stable channels. They will show up automatically when you update your SDK in future (or if using development channels depending on the exact version).
#3240: Color previews are now shown in more places, including user-defined constant fields. Additionally, the VS Code color picker can now be used to change Flutter colors in source code.
- #3646: Flutter widget refactors are now sorted correctly in the Code Actions menu.
- #3598: Library-level annotations like
@Timeout
are no longer sorted (or removed) incorrectly when sortingimport
s. - #3669: Completions that insert
import
s automatically will now use relative imports (instead ofpackage:
URIs) when theprefer_relative_imports
lint is enabled. - #3632: The Dart: Hot Reload command now works when using the (experimental, upcoming) Dart SDK debug adapter.
- #3631: A previous fix for Hot Restarting hanging if exceptions occur during the restart has been applied to the (experimental, upcoming) Flutter SDK debug adapter.
- #3672: Completing a method/constructor name with no prefix typed no longer inserts parenthesis if they already exist after the cursor.
- #2167: Color previews are no longer shown for code that is commented out.
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!