From 70ea06a46fd4b38bdba9ab1d64f3fee0f63806a5 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Tue, 3 Apr 2018 11:43:02 +0200 Subject: [PATCH] fix #46971 --- .../contrib/referenceSearch/referencesWidget.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/vs/editor/contrib/referenceSearch/referencesWidget.ts b/src/vs/editor/contrib/referenceSearch/referencesWidget.ts index edf3327d480..125595fb249 100644 --- a/src/vs/editor/contrib/referenceSearch/referencesWidget.ts +++ b/src/vs/editor/contrib/referenceSearch/referencesWidget.ts @@ -658,7 +658,7 @@ export class ReferenceWidget extends PeekViewWidget { var onEvent = (element: any, kind: 'show' | 'goto' | 'side') => { if (element instanceof OneReference) { if (kind === 'show') { - this._revealReference(element); + this._revealReference(element, false); } this._onDidSelectReference.fire({ element, kind, source: 'tree' }); } @@ -710,7 +710,7 @@ export class ReferenceWidget extends PeekViewWidget { } public setSelection(selection: OneReference): TPromise { - return this._revealReference(selection).then(() => { + return this._revealReference(selection, true).then(() => { // show in tree this._tree.setSelection([selection]); @@ -780,7 +780,7 @@ export class ReferenceWidget extends PeekViewWidget { return undefined; } - private _revealReference(reference: OneReference): TPromise { + private async _revealReference(reference: OneReference, revealParent: boolean): TPromise { // Update widget header if (reference.uri.scheme !== Schemas.inMemory) { @@ -791,7 +791,11 @@ export class ReferenceWidget extends PeekViewWidget { const promise = this._textModelResolverService.createModelReference(reference.uri); - return TPromise.join([promise, this._tree.reveal(reference, 1)]).then(values => { + if (revealParent) { + await this._tree.reveal(reference.parent); + } + + return TPromise.join([promise, this._tree.reveal(reference)]).then(values => { const ref = values[0]; if (!this._model) {