For instructions on installing the Dart or Flutter extensions, go here.
Emulators can now be created directly from the device selector.
The emulator created will be based on a standard Pixel device and named automatically.
This feature is only available when using a very recent Flutter SDK. Flutter’s
master channel already has the required functionality but it may take a little longer to filter through to the
Flutter Update Notification
When a new version of Flutter is available you’ll now see a prompt in the editor.
Clicking the Upgrade Flutter button will execute
flutter upgrade inside the editor and once complete automatically reload the SDK in the background.
This feature requires a recent version of Flutter that provides better update checking; therefore you might not see this prompt on the next update if you’re on the current
beta channel. Updates are only checked every few days so you might not see the prompt immediately when a new version is available.
Dart Test Runner
The test runner included for Flutter in the previous version is now enabled for Dart projects. This will only work for tests that can be run with
pub run test and therefore will only activate if there is a
.packages and a
pubspec.yaml file in the project root.
Faded Dead Code
Unused imports/variables and dead code are now flagged to VS Code and will render slightly faded. You can control this with the
editorUnnecessaryCode settings as described here.
- Projects in sub-folders (for example in an
examplefolder) will now launch more reliably when pressing
F5without needing to create a
- Whether the test view will be shown automatically on test runs can now be configured with
dart.openTestView(an array that can be empty, or a combination of
- Data provided to the VS Code Outline tree should now contain more accurate code ranges for each symbol and show parameter information for the selected node
- Commands like Sort Members and Organize Imports no longer rely on an active text editor, resolving issues when using Folder Source Actions or VS Live Share extensions
- Paths searched for SDKs at startup are now logged to the extension log to aid troubleshooting
- Error messages shown at startup (such as when failing to locate an SDK) will now include a Show Log button to review extension logs
- Go-to-Implementation now works from call sites in addition to declerations
- When terminating a test debug session and the test framework is allowing time for the current test to finish, a message will now be shown in the Debug Console (clicking the Stop button a second time will force immediate termination)
- Debugger tooltips/watch info for
Typeinstances will now show the type name instead of just the word
- Launching a Dart VM script with
cwdset to a Flutter project in the launch config will now correctly use the Dart debugger, not the Flutter one
- The Workspace Symbol list should now jump to the selected symbol more reliably
F5with an open file that it outside of the project containing the selected debug configuration should no longer result in a failure to launch
- Comments within import/export statements will no longer break syntax highlighting for the rest of the file
- A new setting (
dart.analyzerSshHost) has been added that allows running the analysis server over SSH on a remote machine to reduce latency when working on a remote file system (such as using SSHFS)
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!