Dart Code
Dart & Flutter support for Visual Studio Code Discord Chat Follow on Twitter Contribute to Dart Code

Upstream Issues

Many feature requests for Dart-Code require some implementation in upstream repositories such as VS Code or LSP. Some of these projects use the count of 👍’s as a way to gauge demand (and in the case of VS Code require a certain number to avoid being closed). Below are a list of some features and links to upstream issues they depend on. Please consider adding 👍’s on the upstream issues for any features you’d like to see in Dart-Code!

New items are always added to the top of the list.

Allow Grouping of edits in Fix All in Workspace by default

github.com/microsoft/vscode#207580

An upcoming feature “Fix All in Workspace” allows previewing changes before applying them. Dart provides groups for these edits but by default VS Code does not show them unless you use the context menu to enable grouping. It would be better if we could tell VS Code to group by default.

Support pre-ticking edits when previewing Fix All in Workspace

github.com/microsoft/vscode#207578

An upcoming feature “Fix All in Workspace” allows previewing changes before applying them. By default, VS Code has all changes unticked and requires manually ticking each branch. It would be better if we could tell VS Code to pre-tick all changes.

Improved File Selection API

github.com/microsoft/vscode#203326

Currently when selecting an existing file as a target for the “Move to File” refactor, VS Code shows a prompt “Do you want to replace it?”. This is misleading because the file is not replaced, the items being moved are simply merged into it. Having a better API would allow this prompt to be avoided.

Editor Insets

github.com/microsoft/vscode#85682

Editor Insets allow inserting content between lines in the editor. This might allow improved DartDoc previews, for example showing images and/or videos directly in the editor that are included in the markdown content.

A separate TODOs pane to keep TODO comments out of the Problems list

github.com/microsoft/vscode#162455

Currently, TODO comments show up in the Problems list because there’s nowhere else to show them. In projects with lots of TODOs (perhaps from other developers) this makes the Problems list hard to use. The only option is to disable TODOs ("dart.showTodos": false). It would be better if they could be shown seperately instead.

Better Rendering for Flutter UI Guides

github.com/microsoft/vscode#73780

The current implementation of Flutter UI Guides has many display issues because VS Code currently has no good APIs for drawing lines between code.

Bring Imports with Copy/Pasted Code

github.com/microsoft/vscode#30066

This would allow copy/pasting code between files without having another step to add the relevant imports to make the code valid.

Add Command to Outline Nodes

github.com/microsoft/vscode#49925

This would allow adding some actions (such as “Move to New File”) to the Outline tree.

Support Refactors that Require User Input

github.com/microsoft/language-server-protocol#1164

Currently LSP has no support for servers to ask for user input (for example, for input when refactoring) and requires a lot of custom messages.

Allow Docking Documentation in a Seperate Panel

github.com/microsoft/vscode#149270

Flutter’s very detailed dartdocs can often result in hovers obscuring the code you’re trying to read. Being able to doc the documentation for hovers/code completion would avoid this.

Signature Help Popup is Not Syntax Highlighted

github.com/microsoft/vscode#55044

Signature Help (Parameter Hints) can be quite long in Flutter code and currently are rendered all white, with no ability to syntax highlight.

Improve Support for Commit Characters in Code Completion

github.com/microsoft/vscode#42544

It should be possible to use ( to complete function calls and automatically insert parens but currently this does not play nicely with inserting argument placeholders.

Allow Prominent Progress Notifications from Debug Adapters

github.com/microsoft/vscode#101791

Showing large progress notifications for actions like Hot Restart currently requires custom messages instead of standard DAP progress messages.

Support Palettes of Named Colors in Color Picker

github.com/microsoft/vscode#140899

Using the editor color picker currently converts any named Flutter colors to RGB values. Being able to provide a palette of colors to the color picker would make it easier to stick to a define theme of named colors.

Support Custom Types of Inlay Hints

github.com/microsoft/vscode#151920

This would allow Closing Labels to be moved to a standard VS Code/LSP API instead of relying on custom messages.

Markdown in Diagnostic Descriptions

github.com/microsoft/vscode#54272

This would allow improved formatting of diagnostic message (for example lint examples).

Allow Stepping by Line While Debugging

github.com/microsoft/vscode#102236

Although the debug adapter protocol has support for stepping by line or instruction, VS Code does not expose any UI to select this.

Syntax Highlighting in Code Completion Details

github.com/microsoft/language-server-protocol#1115

A lack of guidance about the use of detail/documentation makes it difficult to provide syntax-highlighted details on code completion items.

Code Folding Hides Closing Braces

github.com/microsoft/vscode#50840

VS Code’s code folding currently only suports hiding entire lines, meaning closing braces disappear inside the fold instead of showing as void method { ... }.

Support Searching “ClassName.fieldName” in Workspace Symbols

github.com/microsoft/vscode#98125

Searching for ClassName.fieldName does not currently work because VS Code only searches the final label ("fieldName") and not the containerName ("className").

Show “package:foo/foo.dart” in Editor Tab Labels

github.com/microsoft/vscode#41909

This would make it easier to tell which packages open files belong to.