Skip to content

Commit 511b759

Browse files
authored
view descriptor created with containerTitle that is not a string (microsoft#191842)
1 parent 700bf1a commit 511b759

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

src/vs/workbench/api/browser/viewsExtensionPoint.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { Extensions as ViewletExtensions, PaneCompositeRegistry } from 'vs/workb
1818
import { CustomTreeView, RawCustomTreeViewContextKey, TreeViewPane } from 'vs/workbench/browser/parts/views/treeView';
1919
import { ViewPaneContainer } from 'vs/workbench/browser/parts/views/viewPaneContainer';
2020
import { Extensions as WorkbenchExtensions, IWorkbenchContribution, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';
21-
import { Extensions as ViewContainerExtensions, ICustomTreeViewDescriptor, ICustomViewDescriptor, IViewContainersRegistry, IViewDescriptor, IViewsRegistry, ResolvableTreeItem, ViewContainer, ViewContainerLocation } from 'vs/workbench/common/views';
21+
import { Extensions as ViewContainerExtensions, ICustomViewDescriptor, IViewContainersRegistry, IViewDescriptor, IViewsRegistry, ResolvableTreeItem, ViewContainer, ViewContainerLocation } from 'vs/workbench/common/views';
2222
import { VIEWLET_ID as DEBUG } from 'vs/workbench/contrib/debug/common/debug';
2323
import { VIEWLET_ID as EXPLORER } from 'vs/workbench/contrib/files/common/files';
2424
import { VIEWLET_ID as REMOTE } from 'vs/workbench/contrib/remote/browser/remoteExplorer';
@@ -530,14 +530,14 @@ class ViewsExtensionHandler implements IWorkbenchContribution {
530530
}
531531
}
532532

533-
const viewDescriptor = <ICustomTreeViewDescriptor>{
533+
const viewDescriptor: ICustomViewDescriptor = {
534534
type: type,
535535
ctorDescriptor: type === ViewType.Tree ? new SyncDescriptor(TreeViewPane) : new SyncDescriptor(WebviewViewPane),
536536
id: item.id,
537537
name: item.name,
538538
when: ContextKeyExpr.deserialize(item.when),
539539
containerIcon: icon || viewContainer?.icon,
540-
containerTitle: item.contextualTitle || viewContainer?.title,
540+
containerTitle: item.contextualTitle || (viewContainer && (typeof viewContainer.title === 'string' ? viewContainer.title : viewContainer.title.value)),
541541
canToggleVisibility: true,
542542
canMoveView: viewContainer?.id !== REMOTE,
543543
treeView: type === ViewType.Tree ? this.instantiationService.createInstance(CustomTreeView, item.id, item.name, extension.description.identifier.value) : undefined,
@@ -587,7 +587,7 @@ class ViewsExtensionHandler implements IWorkbenchContribution {
587587
if (removedViews.length) {
588588
this.viewsRegistry.deregisterViews(removedViews, viewContainer);
589589
for (const view of removedViews) {
590-
const anyView = view as ICustomTreeViewDescriptor;
590+
const anyView = view as ICustomViewDescriptor;
591591
if (anyView.treeView) {
592592
anyView.treeView.dispose();
593593
}

src/vs/workbench/common/views.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -300,18 +300,12 @@ export interface IViewDescriptor {
300300
readonly openCommandActionDescriptor?: OpenCommandActionDescriptor;
301301
}
302302

303-
export interface ICustomTreeViewDescriptor extends ITreeViewDescriptor {
303+
export interface ICustomViewDescriptor extends IViewDescriptor {
304304
readonly extensionId: ExtensionIdentifier;
305305
readonly originalContainerId: string;
306+
readonly treeView?: ITreeView;
306307
}
307308

308-
export interface ICustomWebviewViewDescriptor extends IViewDescriptor {
309-
readonly extensionId: ExtensionIdentifier;
310-
readonly originalContainerId: string;
311-
}
312-
313-
export type ICustomViewDescriptor = ICustomTreeViewDescriptor | ICustomWebviewViewDescriptor;
314-
315309
export interface IViewDescriptorRef {
316310
viewDescriptor: IViewDescriptor;
317311
index: number;

0 commit comments

Comments
 (0)