TODO refactor shell, rendered should only receive props with event handlers events should be handled by clients, like ApplicationShell right now it is mess: (1) client logic belong to renderer, (2) cyclic dependencies between renderers and clients
OptionalcontextMenuRenderer: ContextMenuRendererOptionaldecoratorService: TabBarDecoratorServiceOptionaliconThemeService: IconThemeServiceOptionalselectionService: SelectionServiceOptionalcommandService: CommandServiceOptionalcorePreferences: CorePreferencesOptionalhoverService: HoverServiceOptionalcontextKeyService: ContextKeyServiceProtected Optional_ReadonlycloseA selector which matches the close icon node in a tab.
Protected Optional ReadonlycommandProtected Optional ReadonlycontextOptionalcontextThe menu path used to render the context menu.
Protected Optional ReadonlycontextProtected Optional ReadonlycoreProtected ReadonlydecorationsProtected Optional ReadonlydecoratorProtected Optional ReadonlyhoverProtected Optional ReadonlyiconProtected Optional ReadonlyselectionProtected ReadonlytoProtected ReadonlytoCreate the class name for the tab icon.
The data to use for the tab.
The full class name for the tab icon.
Create the ARIA attributes for a tab.
The data to use for the tab.
The ARIA attributes for the tab.
Create the class name for the tab.
The data to use for the tab.
The full class name for the tab.
Create the dataset for a tab.
The data to use for the tab.
The dataset for the tab.
Generate ID for an entry in the tab bar
DOM element ID
Create a unique render key for the tab.
The data to use for the tab.
The unique render key for the tab.
This method caches the key against the tab title the first time the key is generated. This enables efficient rendering of moved tabs and avoids subtle hover style artifacts.
If size information is available for the label and icon, set an explicit height on the tab. The height value also considers padding, which should be derived from CSS settings.
Find duplicate labels from the currently opened tabs in the tab bar. Return the appropriate partial paths that can distinguish the identical labels.
E.g., a/p/index.ts => a/..., b/p/index.ts => b/...
To prevent excessively long path displayed, show at maximum three levels from the end by default.
A map from each tab's original path to its displayed partial path.
ProtectedgetGet the decoration data given the tab URI and the decoration data type.
ProtectedgetGet all available decorations of a given tab.
ProtectedgetGet the class of an icon.
The name of the icon.
Additional classes of the icon.
ProtectedhandleProtectedhandleProtectedhandleProtectedhandleOptionalisInSidePanel: booleanRender the close icon element for a tab.
The data to use for rendering the tab.
A virtual element representing the tab close icon.
ProtectedrenderIf size information is available for the icon, set it as inline style. Tab padding
is also considered in the top position.
Data used to render the tab icon.
OptionalisInSidePanel: booleanAn optional check which determines if the tab is in the side-panel.
If size information is available for the label, set it as inline style.
Tab padding and icon size are also considered in the top position.
Data used to render the tab.
OptionalisInSidePanel: booleanAn optional check which determines if the tab is in the side-panel.
The virtual element of the rendered label.
OptionalisInSidePanel: booleanRender tabs with the default DOM structure, but additionally register a context menu listener.
Data used to render the tab.
OptionalisInSidePanel: booleanAn optional check which determines if the tab is in the side-panel.
OptionalisPartOfHiddenTabBar: booleanAn optional check which determines if the tab is in the hidden horizontal tab bar.
The virtual element of the rendered tab.
ProtectedrenderOptionalisInSidePanel: booleanProtectedrenderProtectedreset
A tab bar renderer that offers a context menu. In addition, this renderer is able to set an explicit position and size on the icon and label of each tab in a side bar. This is necessary because the elements of side bar tabs are rotated using the CSS
transformproperty, disrupting the browser's ability to arrange those elements automatically.