|
| 1 | +title: v3.124 |
| 2 | +sort_order: v0003_0124 |
| 3 | +excerpt: "Dart code coverage, improved Flutter Widget Preview support, safer MCP tools for Copilot..." |
| 4 | +--- |
| 5 | + |
| 6 | +# v3.124.0 _2025-12-01_ |
| 7 | + |
| 8 | +## Flutter Widget Preview |
| 9 | + |
| 10 | +- [#2620](https://github.com/Dart-Code/Dart-Code/issues/2620): The Flutter Widget Preview is enabled by default when using the recently-released Flutter v3.38. |
| 11 | +- [#5775](https://github.com/Dart-Code/Dart-Code/issues/5775): The Flutter Widget Preview now handles Pub Workspaces correctly, supporting previews for all projects within the Pub workspace. |
| 12 | + |
| 13 | +## Flutter |
| 14 | + |
| 15 | +- [#5782](https://github.com/Dart-Code/Dart-Code/issues/5782): Switching SDKs no longer reports "View provider for 'sidebarWidgetPreview' already registered". |
| 16 | +- [#5783](https://github.com/Dart-Code/Dart-Code/issues/5783): The Widget Preview now shows the correct background color when embedded in the sidebar. |
| 17 | +- [#5796](https://github.com/Dart-Code/Dart-Code/issues/5796): If the Flutter daemon times out unexpectedly on macOS, a notification will now be shown. |
| 18 | + |
| 19 | +## Editor |
| 20 | + |
| 21 | +- [#5599](https://github.com/Dart-Code/Dart-Code/issues/5599): Go-to-Definition now works on keywords like `return`, `break`, and `continue`, jumping to the corresponding token. |
| 22 | +- [#4844](https://github.com/Dart-Code/Dart-Code/issues/4844): All exit points of a function/block such as `return`, `break`, and`continue` are highlighted together when the text cursor is in one of them. |
| 23 | +- [#5810](https://github.com/Dart-Code/Dart-Code/issues/5810): The color picker/previews now appear when using the new dot shorthand syntax. |
| 24 | +- [#5772](https://github.com/Dart-Code/Dart-Code/issues/5772): Raw strings (starting `r'` or `r"`) are now automatically closed just like normal strings. |
| 25 | +- [#5754](https://github.com/Dart-Code/Dart-Code/issues/5754): The "Add 'foo' to dependencies" quick-fix now works correctly when the package name is a prefix of another existing dependency. |
| 26 | +- [#5776](https://github.com/Dart-Code/Dart-Code/issues/5776): The `flutter/ephemeral`, `.symlinks` and `.plugin_symlinks` folders are now excluded from the explorer and search results by default. The `.dart_tool` folder is also now excluded from search results by default. If you'd prefer these were included, you can add them back to your `files.exclude` and `search.exclude` configuration respectively. |
| 27 | +- [#5755](https://github.com/Dart-Code/Dart-Code/issues/5755): A one-off warning is now shown if the `dart.onlyAnalyzeProjectsWithOpenFiles` setting is enabled. Use of this setting is not recommended as it can cause bad performance when moving around the codebase. |
| 28 | + |
| 29 | +## AI |
| 30 | + |
| 31 | +- [#5785](https://github.com/Dart-Code/Dart-Code/issues/5785)/[#5795](https://github.com/Dart-Code/Dart-Code/issues/5795): When using Copilot, the Format and Fix All tool from the Dart MCP server (which only read and modify files on disk) are now replaced with extension-provided versions that work nicely with unsaved edits. |
| 32 | +- [#5647](https://github.com/Dart-Code/Dart-Code/issues/5647): When using Copilot, the `analyze_files` tool from the Dart MCP server is now disabled in favour of the VS Code `problems` tool which provides live analysis errors from the open files and does not trigger re-analyzing files on disk. |
| 33 | + |
| 34 | +## DevTools |
| 35 | + |
| 36 | +- [#3488](https://github.com/Dart-Code/Dart-Code/issues/3488): When using Flutter v3.38 / Dart 3.10, using Cmd+C on macOS to copy from embedded DevTools pages should now work as expected. |
| 37 | + |
| 38 | +## Testing |
| 39 | + |
| 40 | +- [#5799](https://github.com/Dart-Code/Dart-Code/issues/5799)/[#5575](https://github.com/Dart-Code/Dart-Code/issues/5575): Code coverage is now enabled for Dart projects if using the latest version of `pkg:test`, however it currently only captures coverage for the current package. [#5798](https://github.com/Dart-Code/Dart-Code/issues/5798) is open to track adding support for all workspace packages (which is already supported for Flutter). |
| 41 | +- [#5797](https://github.com/Dart-Code/Dart-Code/issues/5797): Code coverage reports that contain absolute Windows paths now parse correctly. |
| 42 | +- [#5707](https://github.com/Dart-Code/Dart-Code/issues/5707)/[#5811](https://github.com/Dart-Code/Dart-Code/issues/5811): Running tests in defined in a non-`main` function no longer reports "No tests match regular expression ...". |
| 43 | + |
| 44 | +## Commands |
| 45 | + |
| 46 | +- [#5801](https://github.com/Dart-Code/Dart-Code/issues/5801)/[#5789](https://github.com/Dart-Code/Dart-Code/issues/5789): Commands like **Get Packages** now show the package name in the output instead of just the folder name (which is usually - but not always - the same). |
| 47 | +- [#5777](https://github.com/Dart-Code/Dart-Code/issues/5777): When running **Pub Get** on a batch of packages, the notification now shows a progress indicator and the number of done/total packages. |
| 48 | +- [#5803](https://github.com/Dart-Code/Dart-Code/issues/5803): The **Dart: Open Analyzer Diagnostics / Insights** command now show a progress indicator if it does not respond immediately (for example while the server is busy starting up). |
| 49 | + |
| 50 | +## Extension API |
| 51 | + |
| 52 | +- [#5770](https://github.com/Dart-Code/Dart-Code/issues/5770)/[#5703](https://github.com/Dart-Code/Dart-Code/issues/5703): Other VS Code extensions can now suppress debug CodeLenses via the exposed API. This allows projects like Jaspr to replace these with their own CodeLenses that invoke their own debugger. |
| 53 | +- [#5587](https://github.com/Dart-Code/Dart-Code/issues/5587): Internal extension APIs intended for use only in automated test runs are no longer exposed outside of test runs. |
| 54 | + |
| 55 | +## Features/Fixes Enabled with Future SDKs |
| 56 | + |
| 57 | +The following items depend on changes to the Dart/Flutter SDKs that have not yet been released to stable channels. They may be available to test in the current beta/master channels and will show up in future SDK releases. |
| 58 | + |
| 59 | +- [#5773](https://github.com/Dart-Code/Dart-Code/issues/5773): The **Dart: Apply Fix All in Workspace** command now shows a progress indicator while it computes. |
| 60 | +- [#5818](https://github.com/Dart-Code/Dart-Code/issues/5818): Breadcrumbs and other UI now show `extension on Foo` instead of just `<unnamed extension>` for unnamed extensions. |
| 61 | +- [#5781](https://github.com/Dart-Code/Dart-Code/issues/5781): Quick-fixes provided by the Dart analysis server for `pubspec.yaml` and `analysis_options.yaml` are now available to VS Code. |
| 62 | +- [#5779](https://github.com/Dart-Code/Dart-Code/issues/5779): The `dart.inlayHints` configuration now has an additional setting to control inlay hints for dot shorthands. |
| 63 | +- [#5778](https://github.com/Dart-Code/Dart-Code/issues/5778): Copying large variable values from the Globals list when debugging now copies the whole untruncated value. |
0 commit comments