未验证 提交 4ae45292 编写于 作者: M Martin Aeschlimann 提交者: GitHub

Merge pull request #111383 from microsoft/aeschli/extensionsIcons

add extension icons
......@@ -64,9 +64,8 @@ import { ResourceContextKey } from 'vs/workbench/common/resources';
import { IAction } from 'vs/base/common/actions';
import { IWorkpsaceExtensionsConfigService } from 'vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig';
import { Schemas } from 'vs/base/common/network';
import { Codicon } from 'vs/base/common/codicons';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
import { ShowRuntimeExtensionsAction } from 'vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor';
import { extensionsViewIcon } from 'vs/workbench/contrib/extensions/browser/extensionsIcons';
// Singletons
registerSingleton(IExtensionsWorkbenchService, ExtensionsWorkbenchService);
......@@ -105,7 +104,6 @@ Registry.as<IEditorRegistry>(EditorExtensions.Editors).registerEditor(
new SyncDescriptor(ExtensionsInput)
]);
const extensionsViewIcon = registerIcon('extensions-view-icon', Codicon.extensions, localize('extensionsViewIcon', 'View icon of the extensions view.'));
Registry.as<IViewContainersRegistry>(ViewContainerExtensions.ViewContainersRegistry).registerViewContainer(
{
......
......@@ -30,7 +30,7 @@ import { IExtensionService, toExtension, toExtensionDescription } from 'vs/workb
import { URI } from 'vs/base/common/uri';
import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { registerThemingParticipant, IColorTheme, ICssStyleCollector } from 'vs/platform/theme/common/themeService';
import { registerThemingParticipant, IColorTheme, ICssStyleCollector, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { buttonBackground, buttonForeground, buttonHoverBackground, contrastBorder, registerColor, foreground } from 'vs/platform/theme/common/colorRegistry';
import { IJSONEditingService } from 'vs/workbench/services/configuration/common/jsonEditing';
import { ITextEditorSelection } from 'vs/platform/editor/common/editor';
......@@ -55,7 +55,6 @@ import { ITextFileService } from 'vs/workbench/services/textfile/common/textfile
import { IProductService } from 'vs/platform/product/common/productService';
import { IFileDialogService, IDialogService } from 'vs/platform/dialogs/common/dialogs';
import { IProgressService, ProgressLocation } from 'vs/platform/progress/common/progress';
import { Codicon } from 'vs/base/common/codicons';
import { IViewsService } from 'vs/workbench/common/views';
import { IActionViewItemOptions, ActionViewItem } from 'vs/base/browser/ui/actionbar/actionViewItems';
import { EXTENSIONS_CONFIG, IExtensionsConfigContent } from 'vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig';
......@@ -65,6 +64,7 @@ import { ActionWithDropdownActionViewItem, IActionWithDropdownActionViewItemOpti
import { IContextMenuProvider } from 'vs/base/browser/contextmenu';
import { ILogService } from 'vs/platform/log/common/log';
import * as Constants from 'vs/workbench/contrib/logs/common/logConstants';
import { clearSearchResultsIcon, infoIcon, manageExtensionIcon, refreshIcon, syncEnabledIcon, syncIgnoredIcon, warningIcon } from 'vs/workbench/contrib/extensions/browser/extensionsIcons';
function getRelativeDateLabel(date: Date): string {
const delta = new Date().getTime() - date.getTime();
......@@ -868,7 +868,7 @@ export class ManageExtensionAction extends ExtensionDropDownAction {
static readonly ID = 'extensions.manage';
private static readonly Class = `${ExtensionAction.ICON_ACTION_CLASS} manage codicon-gear`;
private static readonly Class = `${ExtensionAction.ICON_ACTION_CLASS} manage ` + ThemeIcon.asClassName(manageExtensionIcon);
private static readonly HideManageExtensionClass = `${ManageExtensionAction.Class} hide`;
constructor(
......@@ -949,7 +949,7 @@ export class ExtensionEditorManageExtensionAction extends ExtensionDropDownActio
constructor(
@IInstantiationService instantiationService: IInstantiationService
) {
super('extensionEditor.manageExtension', '', `${ExtensionAction.ICON_ACTION_CLASS} manage codicon-gear`, true, true, instantiationService);
super('extensionEditor.manageExtension', '', `${ExtensionAction.ICON_ACTION_CLASS} manage ${ThemeIcon.asClassName(manageExtensionIcon)}`, true, true, instantiationService);
this.tooltip = localize('manage', "Manage");
}
......@@ -1782,7 +1782,7 @@ export class ClearExtensionsSearchResultsAction extends Action {
label: string,
@IViewsService private readonly viewsService: IViewsService
) {
super(id, label, 'codicon-clear-all', true);
super(id, label, ThemeIcon.asClassName(clearSearchResultsIcon), true);
}
async run(): Promise<void> {
......@@ -1824,7 +1824,7 @@ export class RefreshExtensionsAction extends Action {
label: string,
@IViewsService private readonly viewsService: IViewsService
) {
super(id, label, 'codicon-refresh', true);
super(id, label, ThemeIcon.asClassName(refreshIcon), true);
}
async run(): Promise<void> {
......@@ -2492,8 +2492,8 @@ export class MaliciousStatusLabelAction extends ExtensionAction {
export class ToggleSyncExtensionAction extends ExtensionDropDownAction {
private static readonly IGNORED_SYNC_CLASS = `${ExtensionAction.ICON_ACTION_CLASS} extension-sync codicon-sync-ignored`;
private static readonly SYNC_CLASS = `${ToggleSyncExtensionAction.ICON_ACTION_CLASS} extension-sync codicon-sync`;
private static readonly IGNORED_SYNC_CLASS = `${ExtensionAction.ICON_ACTION_CLASS} extension-sync ${ThemeIcon.asClassName(syncIgnoredIcon)}`;
private static readonly SYNC_CLASS = `${ToggleSyncExtensionAction.ICON_ACTION_CLASS} extension-sync ${ThemeIcon.asClassName(syncEnabledIcon)}`;
constructor(
@IConfigurationService private readonly configurationService: IConfigurationService,
......@@ -2610,8 +2610,8 @@ export class ExtensionToolTipAction extends ExtensionAction {
export class SystemDisabledWarningAction extends ExtensionAction {
private static readonly CLASS = `${ExtensionAction.ICON_ACTION_CLASS} system-disable`;
private static readonly WARNING_CLASS = `${SystemDisabledWarningAction.CLASS} ${Codicon.warning.classNames}`;
private static readonly INFO_CLASS = `${SystemDisabledWarningAction.CLASS} ${Codicon.info.classNames}`;
private static readonly WARNING_CLASS = `${SystemDisabledWarningAction.CLASS} ${ThemeIcon.asClassName(warningIcon)}`;
private static readonly INFO_CLASS = `${SystemDisabledWarningAction.CLASS} ${ThemeIcon.asClassName(infoIcon)}`;
updateWhenCounterExtensionChanges: boolean = true;
private _runningExtensions: IExtensionDescription[] | null = null;
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Codicon } from 'vs/base/common/codicons';
import { localize } from 'vs/nls';
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
export const extensionsViewIcon = registerIcon('extensions-view-icon', Codicon.extensions, localize('extensionsViewIcon', 'View icon of the extensions view.'));
export const manageExtensionIcon = registerIcon('extensions-manage', Codicon.gear, localize('manageExtensionIcon', 'Icon for the \'Manage\' action in the extensions view.'));
export const clearSearchResultsIcon = registerIcon('extensions-clear-search-results', Codicon.clearAll, localize('clearSearchResultsIcon', 'Icon for the \'Clear Search Result\' action in the extensions view.'));
export const refreshIcon = registerIcon('extensions-refresh', Codicon.refresh, localize('refreshIcon', 'Icon for the \'Refresh\' action in the extensions view.'));
export const filterIcon = registerIcon('extensions-filter', Codicon.filter, localize('filterIcon', 'Icon for the \'Filter\' action in the extensions view.'));
export const installLocalInRemoteIcon = registerIcon('extensions-install-local-in-remote', Codicon.cloudDownload, localize('installLocalInRemoteIcon', 'Icon for the \'Install Local Extension in Remote\' action in the extensions view.'));
export const installWorkspaceRecommendedIcon = registerIcon('extensions-install-workspace-recommended', Codicon.cloudDownload, localize('installWorkspaceRecommendedIcon', 'Icon for the \'Install Workspace Recommended Extensions\' action in the extensions view.'));
export const configureRecommendedIcon = registerIcon('extensions-configure-recommended', Codicon.pencil, localize('configureRecommendedIcon', 'Icon for the \'Configure Recommended Extensions\' action in the extensions view.'));
export const syncEnabledIcon = registerIcon('extensions-sync-enabled', Codicon.sync, localize('syncEnabledIcon', 'Icon to indicate that an extension is synced.'));
export const syncIgnoredIcon = registerIcon('extensions-sync-ignored', Codicon.syncIgnored, localize('syncIgnoredIcon', 'Icon to indicate that an extension is ignored when syncing.'));
export const remoteIcon = registerIcon('extensions-remote', Codicon.remote, localize('remoteIcon', 'Icon to indicate that an extension is remote in the extensions view and editor.'));
export const installCountIcon = registerIcon('extensions-install-count', Codicon.cloudDownload, localize('installCountIcon', 'Icon shown along with the install count in the extensions view and editor.'));
export const ratingIcon = registerIcon('extensions-rating', Codicon.star, localize('ratingIcon', 'Icon shown along with the rating in the extensions view and editor.'));
export const starFullIcon = registerIcon('extensions-star-full', Codicon.starFull, localize('starFullIcon', 'Full star icon used for the rating in the extensions editor.'));
export const starHalfIcon = registerIcon('extensions-star-half', Codicon.starHalf, localize('starHalfIcon', 'Half star icon used for the rating in the extensions editor.'));
export const starEmptyIcon = registerIcon('extensions-star-empty', Codicon.starEmpty, localize('starEmptyIcon', 'Empty star icon used for the rating in the extensions editor.'));
export const warningIcon = registerIcon('extensions-warning-message', Codicon.warning, localize('warningIcon', 'Icon shown with a warning message in the extensions editor.'));
export const infoIcon = registerIcon('extensions-info-message', Codicon.info, localize('infoIcon', 'Icon shown with an info message in the extensions editor.'));
......@@ -32,7 +32,7 @@ import { IProgressService, ProgressLocation } from 'vs/platform/progress/common/
import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService';
import Severity from 'vs/base/common/severity';
import { IActivityService, NumberBadge } from 'vs/workbench/services/activity/common/activity';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IViewsRegistry, IViewDescriptor, Extensions, ViewContainer, IViewDescriptorService, IAddedViewDescriptorRef } from 'vs/workbench/common/views';
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
......@@ -63,6 +63,7 @@ import { WorkbenchStateContext } from 'vs/workbench/browser/contextkeys';
import { ICommandService } from 'vs/platform/commands/common/commands';
import { isWeb } from 'vs/base/common/platform';
import { memoize } from 'vs/base/common/decorators';
import { filterIcon } from 'vs/workbench/contrib/extensions/browser/extensionsIcons';
const DefaultViewsContext = new RawContextKey<boolean>('defaultExtensionViews', true);
const SearchMarketplaceExtensionsContext = new RawContextKey<boolean>('searchMarketplaceExtensions', false);
......@@ -582,7 +583,7 @@ export class ExtensionsViewPaneContainer extends ViewPaneContainer implements IE
}
return [
this._register(new SubmenuAction('workbench.extensions.action.filterExtensions', localize('filterExtensions', "Filter Extensions..."), filterActions, 'codicon-filter')),
this._register(new SubmenuAction('workbench.extensions.action.filterExtensions', localize('filterExtensions', "Filter Extensions..."), filterActions, ThemeIcon.asClassName(filterIcon))),
this._register(this.instantiationService.createInstance(RefreshExtensionsAction, RefreshExtensionsAction.ID, RefreshExtensionsAction.LABEL)),
this._register(this.instantiationService.createInstance(ClearExtensionsInputAction, ClearExtensionsInputAction.ID, ClearExtensionsInputAction.LABEL, this.onSearchChange, () => this.searchBox!.getValue() || '')),
];
......
......@@ -20,7 +20,7 @@ import { Delegate, Renderer, IExtensionsViewState, EXTENSION_LIST_ELEMENT_HEIGHT
import { ExtensionState, IExtension, IExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/common/extensions';
import { Query } from 'vs/workbench/contrib/extensions/common/extensionQuery';
import { IExtensionService, toExtension } from 'vs/workbench/services/extensions/common/extensions';
import { IThemeService } from 'vs/platform/theme/common/themeService';
import { IThemeService, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { attachBadgeStyler } from 'vs/platform/theme/common/styler';
import { IViewletViewOptions } from 'vs/workbench/browser/parts/views/viewsViewlet';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
......@@ -49,6 +49,7 @@ import { IOpenerService } from 'vs/platform/opener/common/opener';
import { IPreferencesService } from 'vs/workbench/services/preferences/common/preferences';
import { IListAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
import { configureRecommendedIcon, installLocalInRemoteIcon, installWorkspaceRecommendedIcon } from 'vs/workbench/contrib/extensions/browser/extensionsIcons';
// Extensions that are automatically classified as Programming Language extensions, but should be Feature extensions
const FORCE_FEATURE_EXTENSIONS = ['vscode.git', 'vscode.search-result'];
......@@ -823,10 +824,10 @@ export class ExtensionsListView extends ViewPane {
if (count === 0 && this.isBodyVisible()) {
if (error) {
if (error instanceof ExtensionListViewWarning) {
this.bodyTemplate.messageSeverityIcon.className = `codicon ${SeverityIcon.className(Severity.Warning)}`;
this.bodyTemplate.messageSeverityIcon.className = SeverityIcon.className(Severity.Warning);
this.bodyTemplate.messageBox.textContent = getErrorMessage(error);
} else {
this.bodyTemplate.messageSeverityIcon.className = `codicon ${SeverityIcon.className(Severity.Error)}`;
this.bodyTemplate.messageSeverityIcon.className = SeverityIcon.className(Severity.Error);
this.bodyTemplate.messageBox.textContent = localize('error', "Error while loading extensions. {0}", getErrorMessage(error));
}
} else {
......@@ -991,7 +992,7 @@ export class ServerInstalledExtensionsView extends ExtensionsListView {
getActions(): IAction[] {
if (this.extensionManagementServerService.remoteExtensionManagementServer && this.extensionManagementServerService.localExtensionManagementServer === this.options.server) {
const installLocalExtensionsInRemoteAction = this._register(this.instantiationService.createInstance(InstallLocalExtensionsInRemoteAction));
installLocalExtensionsInRemoteAction.class = 'codicon codicon-cloud-download';
installLocalExtensionsInRemoteAction.class = ThemeIcon.asClassName(installLocalInRemoteIcon);
return [installLocalExtensionsInRemoteAction];
}
return [];
......@@ -1086,11 +1087,11 @@ export class WorkspaceRecommendedExtensionsView extends ExtensionsListView {
getActions(): IAction[] {
if (!this.installAllAction) {
this.installAllAction = this._register(new Action('workbench.extensions.action.installWorkspaceRecommendedExtensions', localize('installWorkspaceRecommendedExtensions', "Install Workspace Recommended Extensions"), 'codicon codicon-cloud-download', false, () => this.installWorkspaceRecommendations()));
this.installAllAction = this._register(new Action('workbench.extensions.action.installWorkspaceRecommendedExtensions', localize('installWorkspaceRecommendedExtensions', "Install Workspace Recommended Extensions"), ThemeIcon.asClassName(installWorkspaceRecommendedIcon), false, () => this.installWorkspaceRecommendations()));
}
const configureWorkspaceFolderAction = this._register(this.instantiationService.createInstance(ConfigureWorkspaceFolderRecommendedExtensionsAction, ConfigureWorkspaceFolderRecommendedExtensionsAction.ID, ConfigureWorkspaceFolderRecommendedExtensionsAction.LABEL));
configureWorkspaceFolderAction.class = 'codicon codicon-pencil';
configureWorkspaceFolderAction.class = ThemeIcon.asClassName(configureRecommendedIcon);
return [this.installAllAction, configureWorkspaceFolderAction];
}
......
......@@ -13,13 +13,14 @@ import { IExtensionManagementServerService } from 'vs/workbench/services/extensi
import { IExtensionRecommendationsService } from 'vs/workbench/services/extensionRecommendations/common/extensionRecommendations';
import { ILabelService } from 'vs/platform/label/common/label';
import { extensionButtonProminentBackground, extensionButtonProminentForeground, ExtensionToolTipAction } from 'vs/workbench/contrib/extensions/browser/extensionsActions';
import { IThemeService, IColorTheme } from 'vs/platform/theme/common/themeService';
import { IThemeService, IColorTheme, ThemeIcon } from 'vs/platform/theme/common/themeService';
import { EXTENSION_BADGE_REMOTE_BACKGROUND, EXTENSION_BADGE_REMOTE_FOREGROUND } from 'vs/workbench/common/theme';
import { Emitter, Event } from 'vs/base/common/event';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { CountBadge } from 'vs/base/browser/ui/countBadge/countBadge';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IUserDataAutoSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
import { installCountIcon, ratingIcon, remoteIcon, starEmptyIcon, starFullIcon, starHalfIcon, syncIgnoredIcon } from 'vs/workbench/contrib/extensions/browser/extensionsIcons';
export abstract class ExtensionWidget extends Disposable implements IExtensionContainer {
private _extension: IExtension | null = null;
......@@ -85,7 +86,7 @@ export class InstallCountWidget extends ExtensionWidget {
installLabel = installCount.toLocaleString(platform.locale);
}
append(this.container, $('span.codicon.codicon-cloud-download'));
append(this.container, $('span' + ThemeIcon.asCSSSelector(installCountIcon)));
const count = append(this.container, $('span.count'));
count.textContent = installLabel;
}
......@@ -125,18 +126,18 @@ export class RatingsWidget extends ExtensionWidget {
const rating = Math.round(this.extension.rating * 2) / 2;
if (this.small) {
append(this.container, $('span.codicon.codicon-star-full'));
append(this.container, $('span' + ThemeIcon.asCSSSelector(starFullIcon)));
const count = append(this.container, $('span.count'));
count.textContent = String(rating);
} else {
for (let i = 1; i <= 5; i++) {
if (rating >= i) {
append(this.container, $('span.codicon.codicon-star-full'));
append(this.container, $('span' + ThemeIcon.asCSSSelector(starFullIcon)));
} else if (rating >= i - 0.5) {
append(this.container, $('span.codicon.codicon-star-half'));
append(this.container, $('span' + ThemeIcon.asCSSSelector(starHalfIcon)));
} else {
append(this.container, $('span.codicon.codicon-star-empty'));
append(this.container, $('span' + ThemeIcon.asCSSSelector(starEmptyIcon)));
}
}
}
......@@ -222,7 +223,7 @@ export class RecommendationWidget extends ExtensionWidget {
if (extRecommendations[this.extension.identifier.id.toLowerCase()]) {
this.element = append(this.parent, $('div.extension-bookmark'));
const recommendation = append(this.element, $('.recommendation'));
append(recommendation, $('span.codicon.codicon-star'));
append(recommendation, $('span' + ThemeIcon.asCSSSelector(ratingIcon)));
const applyBookmarkStyle = (theme: IColorTheme) => {
const bgColor = theme.getColor(extensionButtonProminentBackground);
const fgColor = theme.getColor(extensionButtonProminentForeground);
......@@ -288,7 +289,7 @@ class RemoteBadge extends Disposable {
}
private render(): void {
append(this.element, $('span.codicon.codicon-remote'));
append(this.element, $('span' + ThemeIcon.asCSSSelector(remoteIcon)));
const applyBadgeStyle = () => {
if (!this.element) {
......@@ -354,10 +355,9 @@ export class SyncIgnoredWidget extends ExtensionWidget {
@IUserDataAutoSyncEnablementService private readonly userDataAutoSyncEnablementService: IUserDataAutoSyncEnablementService,
) {
super();
this.element = append(container, $('span.extension-sync-ignored.codicon.codicon-sync-ignored'));
this.element = append(container, $('span.extension-sync-ignored' + ThemeIcon.asCSSSelector(syncIgnoredIcon)));
this.element.title = localize('syncingore.label', "This extension is ignored during sync.");
this.element.classList.add('codicon');
this.element.classList.add('codicon-sync-ignored');
this.element.classList.add(...ThemeIcon.asClassNameArray(syncIgnoredIcon));
this.element.classList.add('hide');
this._register(Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectedKeys.includes('settingsSync.ignoredExtensions'))(() => this.render()));
this._register(userDataAutoSyncEnablementService.onDidChangeEnablement(() => this.update()));
......
......@@ -15,7 +15,7 @@
font-size: 80%;
}
.extension-ratings > .codicon[class*='codicon-star']:not(:first-child) {
.extension-ratings > .codicon[class*='codicon-extensions-rating']:not(:first-child) {
margin-left: 3px;
}
......@@ -28,17 +28,17 @@
}
/* TODO @misolori make this a color token */
.extension-ratings .codicon-star-full,
.extension-ratings .codicon-star-half {
.extension-ratings .codicon-extensions-star-full,
.extension-ratings .codicon-extensions-star-half {
color: #FF8E00 !important;
}
.extension-install-count .codicon,
.extension-action.codicon-gear {
.extension-action.codicon-extensions-manage {
color: inherit;
}
.extension-ratings .codicon-star-empty {
.extension-ratings .codicon-extensions-star-empty {
opacity: .4;
}
......
......@@ -419,7 +419,7 @@ suite('ExtensionsActions', () => {
.then(extensions => {
testObject.extension = extensions[0];
assert.ok(testObject.enabled);
assert.equal('extension-action icon manage codicon-gear', testObject.class);
assert.equal('extension-action icon manage codicon codicon-extensions-manage', testObject.class);
assert.equal('', testObject.tooltip);
});
});
......@@ -434,7 +434,7 @@ suite('ExtensionsActions', () => {
.then(page => {
testObject.extension = page.firstPage[0];
assert.ok(!testObject.enabled);
assert.equal('extension-action icon manage codicon-gear hide', testObject.class);
assert.equal('extension-action icon manage codicon codicon-extensions-manage hide', testObject.class);
assert.equal('', testObject.tooltip);
});
});
......@@ -451,7 +451,7 @@ suite('ExtensionsActions', () => {
installEvent.fire({ identifier: gallery.identifier, gallery });
assert.ok(!testObject.enabled);
assert.equal('extension-action icon manage codicon-gear hide', testObject.class);
assert.equal('extension-action icon manage codicon codicon-extensions-manage hide', testObject.class);
assert.equal('', testObject.tooltip);
});
});
......@@ -469,7 +469,7 @@ suite('ExtensionsActions', () => {
didInstallEvent.fire({ identifier: gallery.identifier, gallery, operation: InstallOperation.Install, local: aLocalExtension('a', gallery, gallery) });
assert.ok(testObject.enabled);
assert.equal('extension-action icon manage codicon-gear', testObject.class);
assert.equal('extension-action icon manage codicon codicon-extensions-manage', testObject.class);
assert.equal('', testObject.tooltip);
});
});
......@@ -484,7 +484,7 @@ suite('ExtensionsActions', () => {
.then(extensions => {
testObject.extension = extensions[0];
assert.ok(testObject.enabled);
assert.equal('extension-action icon manage codicon-gear', testObject.class);
assert.equal('extension-action icon manage codicon codicon-extensions-manage', testObject.class);
assert.equal('', testObject.tooltip);
});
});
......@@ -501,7 +501,7 @@ suite('ExtensionsActions', () => {
uninstallEvent.fire(local.identifier);
assert.ok(!testObject.enabled);
assert.equal('extension-action icon manage codicon-gear', testObject.class);
assert.equal('extension-action icon manage codicon codicon-extensions-manage', testObject.class);
assert.equal('Uninstalling', testObject.tooltip);
});
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册