Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src/vs
diff options
context:
space:
mode:
authorAlex Ross <alros@microsoft.com>2022-07-28 16:26:16 +0300
committerGitHub <noreply@github.com>2022-07-28 16:26:16 +0300
commit1fdade8d07d9c8b0aca3923fc7bb52df4c104264 (patch)
tree55a9e0cead103374bb8e058e4a133006a92ffe78 /src/vs
parente65cf31952eb7d7a925b12da13726ea832c56b34 (diff)
TreeView reveal fails to scroll to item when focusing and a different selection exists (#156572)
Fixes #152803
Diffstat (limited to 'src/vs')
-rw-r--r--src/vs/workbench/browser/parts/views/treeView.ts10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/vs/workbench/browser/parts/views/treeView.ts b/src/vs/workbench/browser/parts/views/treeView.ts
index 4f8aa7d5b3a..3c9b24faefd 100644
--- a/src/vs/workbench/browser/parts/views/treeView.ts
+++ b/src/vs/workbench/browser/parts/views/treeView.ts
@@ -496,12 +496,12 @@ abstract class AbstractTreeView extends Disposable implements ITreeView {
protected abstract activate(): void;
- focus(reveal: boolean = true): void {
+ focus(reveal: boolean = true, revealItem?: ITreeItem): void {
if (this.tree && this.root.children && this.root.children.length > 0) {
// Make sure the current selected element is revealed
- const selectedElement = this.tree.getSelection()[0];
- if (selectedElement && reveal) {
- this.tree.reveal(selectedElement, 0.5);
+ const element = revealItem ?? this.tree.getSelection()[0];
+ if (element && reveal) {
+ this.tree.reveal(element, 0.5);
}
// Pass Focus to Viewer
@@ -784,7 +784,7 @@ abstract class AbstractTreeView extends Disposable implements ITreeView {
setFocus(item: ITreeItem): void {
if (this.tree) {
- this.focus();
+ this.focus(true, item);
this.tree.setFocus([item]);
}
}