diff --git a/src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts b/src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts index ab096bf28c52f04a98e46ed20e52895a7388082b..c066ece6ceb988b620c94a3a30423d6e9f36d5a2 100644 --- a/src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts +++ b/src/vs/workbench/browser/parts/editor/breadcrumbsControl.ts @@ -35,7 +35,7 @@ import { ColorIdentifier, ColorFunction } from 'vs/platform/theme/common/colorRe import { attachBreadcrumbsStyler } from 'vs/platform/theme/common/styler'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; -import { FileLabel } from 'vs/workbench/browser/labels'; +import { SingleResourceLabel } from 'vs/workbench/browser/labels'; import { BreadcrumbsConfig, IBreadcrumbsService } from 'vs/workbench/browser/parts/editor/breadcrumbs'; import { BreadcrumbElement, EditorBreadcrumbsModel, FileElement } from 'vs/workbench/browser/parts/editor/breadcrumbsModel'; import { BreadcrumbsPicker, createBreadcrumbsPicker } from 'vs/workbench/browser/parts/editor/breadcrumbsPicker'; @@ -78,8 +78,8 @@ class Item extends BreadcrumbsItem { render(container: HTMLElement): void { if (this.element instanceof FileElement) { // file/folder - let label = this._instantiationService.createInstance(FileLabel, container, {}); - label.setFile(this.element.uri, { + let label = this._instantiationService.createInstance(SingleResourceLabel, container, {}); + label.element.setFile(this.element.uri, { hidePath: true, hideIcon: this.element.kind === FileKind.FOLDER || !this.options.showFileIcons, fileKind: this.element.kind, diff --git a/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts b/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts index 88055da1e0e26a1cfdc53241aa87cb3ee923e309..a69da285ddefc73d73cebbd49b12463387c23402 100644 --- a/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts +++ b/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.ts @@ -25,7 +25,7 @@ import { IConstructorSignature1, IInstantiationService } from 'vs/platform/insta import { HighlightingWorkbenchTree, IHighlighter, IHighlightingTreeConfiguration, IHighlightingTreeOptions } from 'vs/platform/list/browser/listService'; import { breadcrumbsPickerBackground, widgetShadow } from 'vs/platform/theme/common/colorRegistry'; import { IWorkspace, IWorkspaceContextService, IWorkspaceFolder } from 'vs/platform/workspace/common/workspace'; -import { FileLabel } from 'vs/workbench/browser/labels'; +import { ResourceLabels, IResourceLabelHandle } from 'vs/workbench/browser/labels'; import { BreadcrumbsConfig } from 'vs/workbench/browser/parts/editor/breadcrumbs'; import { BreadcrumbElement, FileElement } from 'vs/workbench/browser/parts/editor/breadcrumbsModel'; import { IFileIconTheme, IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService'; @@ -329,7 +329,7 @@ export class FileHighlighter implements IHighlighter { export class FileRenderer implements IRenderer { constructor( - @IInstantiationService private readonly _instantiationService: IInstantiationService, + private readonly _labels: ResourceLabels, @IConfigurationService private readonly _configService: IConfigurationService, ) { } @@ -342,10 +342,10 @@ export class FileRenderer implements IRenderer { } renderTemplate(tree: ITree, templateId: string, container: HTMLElement) { - return this._instantiationService.createInstance(FileLabel, container, { supportHighlights: true }); + return this._labels.create(container, { supportHighlights: true }); } - renderElement(tree: ITree, element: IFileStat | IWorkspaceFolder, templateId: string, templateData: FileLabel): void { + renderElement(tree: ITree, element: IFileStat | IWorkspaceFolder, templateId: string, templateData: IResourceLabelHandle): void { let fileDecorations = this._configService.getValue<{ colors: boolean, badges: boolean }>('explorer.decorations'); let resource: URI; let fileKind: FileKind; @@ -365,7 +365,7 @@ export class FileRenderer implements IRenderer { }); } - disposeTemplate(tree: ITree, templateId: string, templateData: FileLabel): void { + disposeTemplate(tree: ITree, templateId: string, templateData: IResourceLabelHandle): void { templateData.dispose(); } } @@ -427,7 +427,9 @@ export class BreadcrumbsFilePicker extends BreadcrumbsPicker { this._disposables.push(filter); config.dataSource = this._instantiationService.createInstance(FileDataSource); - config.renderer = this._instantiationService.createInstance(FileRenderer); + const labels = this._instantiationService.createInstance(ResourceLabels); + this._disposables.push(labels); + config.renderer = this._instantiationService.createInstance(FileRenderer, labels); config.sorter = new FileSorter(); config.highlighter = new FileHighlighter(); config.filter = filter;