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 import
s 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.