diff --git a/src/vs/sessions/contrib/changes/browser/changesView.ts b/src/vs/sessions/contrib/changes/browser/changesView.ts index ce8e2dd5ca4..f18935e68c2 100644 --- a/src/vs/sessions/contrib/changes/browser/changesView.ts +++ b/src/vs/sessions/contrib/changes/browser/changesView.ts @@ -1181,9 +1181,16 @@ export class ChangesViewPane extends ViewPane { container.classList.add('changes-file-list'); + const viewMode = this.viewModel.viewModeObs.get(); + container.classList.toggle('list-mode', viewMode === ChangesViewMode.List); + const tree = this.createChangesTree(container, Event.None, disposables, () => tree.getSelection().filter(item => !!item && isChangesFileItem(item))); - tree.setChildren(null, items.map(item => ({ element: item as ChangesTreeElement, collapsible: false }))); + if (viewMode === ChangesViewMode.Tree) { + tree.setChildren(null, buildTreeChildren(items)); + } else { + tree.setChildren(null, items.map(item => ({ element: item as ChangesTreeElement, collapsible: false }))); + } // Open file on selection. The `updatingSelection` guard relies on // `tree.setFocus`/`setSelection` firing events synchronously.