#2483: When using Flutter 3.3 / Dart 2.18, moving or renaming a single folder will now update import
statements the same way renaming a single file will. Renaming/moving multiple files/folders at once is not currently supported.
widget
ready to type a widget class name.New debug adapters (which provide the interface for VS Code to communicate with a running Dart/Flutter app) are available when using Flutter 3.3 / Dart 2.18. These new adapters are written in Dart provide some bug fixes and performance improvements over the original Dart-Code TypeScript adapters and will be easier to maintain/fix going forwards.
Users will be switched to the new adapters gradually over the coming releases, but they can be explicitly enabled/disabled by setting the dart.previewSdkDaps
setting to true
(opt-in) or false
(opt-out). If not set (undefined
), the extension will decide when to enable the new adapters.
Some initial improvements in the new adapters:
If you notice any unexpected differences when using the new SDK DAPs, please file an issue. You can tell whether you’re using the new SDK DAPs by using the Capture Debugging Logs command before launching your app and checking whether the log contains “Running SDK DAP” instead of “Running debugger via node”.
dart.useLsp
setting has been replaced by dart.useLegacyAnalyzerProtocol
and its meaning inverted. This setting will be removed in a future version. If you find that you need to enable use of the legacy protocol, please file an issue detailing why.dart.runPubGetOnPubspecChanges
setting has changed from a boolean to support “always”, “prompt”, “never”. The new “prompt” setting will force a prompt to be shown when pubspec changes before fetching new packages.dart.customDevToolsUri
setting added in the previous release has been replaced with a new dart.customDevTools
which can launch a local development version of DevTools itself to aid debugging the embedded view if contributing to DevTools. Using this setting is documented in the DevTools contribution guide.templateFor
.Many features and fixes that previously required using pre-release versions of Dart/Flutter are now available after upgrading to stable Flutter 3.3 and/or Dart 2.18 SDKs.
F8
) functionality from changing the selected error during typing..dart
files that are not part of a project (with a pubspec.yaml
or analysis_options.yaml
) will no longer sometimes cause some “File is not being analyzed” errors during startup.children: []
will no longer insert []
if completion is invoked on the children
label and a value is already present.source.fixAll
in editor.codeActionsOnSave
is no longer very slow (despite the command being very fast when run on its own).return Container()
as a placeholder build
method.always_put_control_body_on_new_line
lint.editor.codeActionsOnSave
) and show errors if invoked manually.fun
snippet to create functions has been restored.(...)
instead of parameter placeholders.$
that are not yet imported will no longer insert duplicate $
s when selected."dart.previewSdkDaps"
setting or automatic opt-in described above), exception popups now include the full exception text (matching the existing debug adapters).async
keyword to synchronous code that contained asynchronous callbacks.super
/this
formal params have been resolved.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!