Hi all,
Updates to the Dart/Flutter VS Code extensions have been published. Release notes are below/online.
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 and vmAdditionalArgs
launch configuration option have been updated to work for both CLI scripts run with dart
and tests run with dart 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 only dart test
test invocations. - #3637: A new setting
dart.reloadOnSave
has been added to suport hot reloading on-save for Dart projects. This is separate to dart.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
or flutter
). The replacement tools must be compatible with the tools they replace. This may be useful for wrapping dart
/flutter
with custom behaviour, or running through build_runner
. The customToolReplacesArgs
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 now longer sorted (or removed) incorrectly when sorting import
s. - #3669: Completions that insert
import
s automatically will now use relative imports (instead of package:
URIs) when the prefer_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.