Visual Studio Code - Group pending changes by folder

I see these interface changes in the Insiders Build 1.47:

scm tree/list views

The tree/list option has been removed from the outer Source Control header bar and is under the ellipsis (three dots) now - with additional options if you choose list: path, name, status. As well as the tree view you were looking for.


As @jabacchetta predicted, this functionality is being added to v1.39 - for scm providers that support it, like git. See https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_39.md#updated-source-control-view. And see the link in @jabacchetta's answer. Tree view in source control.

As usual, you can open/close folders by clikcking on them or left/right arrows. Demo from the Insider's Build:

source control tree view

From the Release Notes :

Updated Source Control view

The Source Control view has been updated to use the latest tree widget. You can now toggle between a list and a tree view with the Toggle View Mode button on the Source Control title bar.

Toggle SCM View mode button

You can change the default view using the scm.defaultViewMode setting, which takes the values list or tree.

You also now benefit from the automatic keyboard navigation and filtering of the updated tree widget by simply starting to type in the view.

scm tree view actions

When in tree view mode, which displays folders, the Git extension now contributes commands to folders, for example Stage Changes, which will be applied to all files within a folder.


Install the GitLens extension. Then modify the gitlens.gitExplorer.files.layout setting to match your preference.

The default auto value will automatically change between a "list" and "tree" view, depending on the quantity and location of the files changed. Simply change the setting's value to tree if you'd prefer to always have it shown that way.

As for VS Code's built-in SCM functionality, there's a feature request pending for tree-formatting.