提交 8fe778bd 编写于 作者: B Benjamin Pasero

adopt lifecycle phases for workbench contributions (fixes #38080)

上级 118169f3
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
import { Registry } from 'vs/platform/registry/common/platform'; import { Registry } from 'vs/platform/registry/common/platform';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
// --- other interested parties // --- other interested parties
import { JSONValidationExtensionPoint } from 'vs/platform/jsonschemas/common/jsonValidationExtensionPoint'; import { JSONValidationExtensionPoint } from 'vs/platform/jsonschemas/common/jsonValidationExtensionPoint';
...@@ -64,6 +65,4 @@ export class ExtensionPoints implements IWorkbenchContribution { ...@@ -64,6 +65,4 @@ export class ExtensionPoints implements IWorkbenchContribution {
} }
} }
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution( Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(ExtensionPoints, LifecyclePhase.Starting);
ExtensionPoints
);
...@@ -35,7 +35,7 @@ export interface IWorkbenchContributionsRegistry { ...@@ -35,7 +35,7 @@ export interface IWorkbenchContributionsRegistry {
* *
* @param phase the lifecycle phase when to instantiate the contribution. * @param phase the lifecycle phase when to instantiate the contribution.
*/ */
registerWorkbenchContribution(contribution: IWorkbenchContributionSignature, phase?: LifecyclePhase): void; registerWorkbenchContribution(contribution: IWorkbenchContributionSignature, phase: LifecyclePhase): void;
/** /**
* Starts the registry by providing the required services. * Starts the registry by providing the required services.
......
...@@ -9,13 +9,10 @@ import { Registry } from 'vs/platform/registry/common/platform'; ...@@ -9,13 +9,10 @@ import { Registry } from 'vs/platform/registry/common/platform';
import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
import { BackupModelTracker } from 'vs/workbench/parts/backup/common/backupModelTracker'; import { BackupModelTracker } from 'vs/workbench/parts/backup/common/backupModelTracker';
import { BackupRestorer } from 'vs/workbench/parts/backup/common/backupRestorer'; import { BackupRestorer } from 'vs/workbench/parts/backup/common/backupRestorer';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
// Register Backup Model Tracker // Register Backup Model Tracker
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution( Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(BackupModelTracker, LifecyclePhase.Starting);
BackupModelTracker
);
// Register Backup Restorer // Register Backup Restorer
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution( Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(BackupRestorer, LifecyclePhase.Starting);
BackupRestorer \ No newline at end of file
);
\ No newline at end of file
...@@ -46,6 +46,7 @@ import { DebugViewlet, FocusVariablesViewAction, FocusBreakpointsViewAction, Foc ...@@ -46,6 +46,7 @@ import { DebugViewlet, FocusVariablesViewAction, FocusBreakpointsViewAction, Foc
import { Repl } from 'vs/workbench/parts/debug/electron-browser/repl'; import { Repl } from 'vs/workbench/parts/debug/electron-browser/repl';
import { DebugQuickOpenHandler } from 'vs/workbench/parts/debug/browser/debugQuickOpen'; import { DebugQuickOpenHandler } from 'vs/workbench/parts/debug/browser/debugQuickOpen';
import { DebugStatus } from 'vs/workbench/parts/debug/browser/debugStatus'; import { DebugStatus } from 'vs/workbench/parts/debug/browser/debugStatus';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
class OpenDebugViewletAction extends ToggleViewletAction { class OpenDebugViewletAction extends ToggleViewletAction {
public static ID = VIEWLET_ID; public static ID = VIEWLET_ID;
...@@ -113,10 +114,10 @@ const registry = Registry.as<IWorkbenchActionRegistry>(WorkbenchActionRegistryEx ...@@ -113,10 +114,10 @@ const registry = Registry.as<IWorkbenchActionRegistry>(WorkbenchActionRegistryEx
registry.registerWorkbenchAction(new SyncActionDescriptor(OpenDebugPanelAction, OpenDebugPanelAction.ID, OpenDebugPanelAction.LABEL, openPanelKb), 'View: Debug Console', nls.localize('view', "View")); registry.registerWorkbenchAction(new SyncActionDescriptor(OpenDebugPanelAction, OpenDebugPanelAction.ID, OpenDebugPanelAction.LABEL, openPanelKb), 'View: Debug Console', nls.localize('view', "View"));
registry.registerWorkbenchAction(new SyncActionDescriptor(OpenDebugViewletAction, OpenDebugViewletAction.ID, OpenDebugViewletAction.LABEL, openViewletKb), 'View: Show Debug', nls.localize('view', "View")); registry.registerWorkbenchAction(new SyncActionDescriptor(OpenDebugViewletAction, OpenDebugViewletAction.ID, OpenDebugViewletAction.LABEL, openViewletKb), 'View: Show Debug', nls.localize('view', "View"));
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(DebugEditorModelManager); Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(DebugEditorModelManager, LifecyclePhase.Starting);
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(DebugActionsWidget); Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(DebugActionsWidget, LifecyclePhase.Starting);
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(DebugContentProvider); Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(DebugContentProvider, LifecyclePhase.Starting);
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(StatusBarColorProvider); Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(StatusBarColorProvider, LifecyclePhase.Starting);
const debugCategory = nls.localize('debugCategory', "Debug"); const debugCategory = nls.localize('debugCategory', "Debug");
registry.registerWorkbenchAction(new SyncActionDescriptor( registry.registerWorkbenchAction(new SyncActionDescriptor(
......
...@@ -39,6 +39,7 @@ import { KeymapExtensions, BetterMergeDisabled } from 'vs/workbench/parts/extens ...@@ -39,6 +39,7 @@ import { KeymapExtensions, BetterMergeDisabled } from 'vs/workbench/parts/extens
import { adoptToGalleryExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil'; import { adoptToGalleryExtensionId } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
import { GalleryExtensionsHandler, ExtensionsHandler } from 'vs/workbench/parts/extensions/browser/extensionsQuickOpen'; import { GalleryExtensionsHandler, ExtensionsHandler } from 'vs/workbench/parts/extensions/browser/extensionsQuickOpen';
import { EditorDescriptor, IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/browser/editor'; import { EditorDescriptor, IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/browser/editor';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
// Singletons // Singletons
registerSingleton(IExtensionGalleryService, ExtensionGalleryService); registerSingleton(IExtensionGalleryService, ExtensionGalleryService);
...@@ -46,9 +47,9 @@ registerSingleton(IExtensionTipsService, ExtensionTipsService); ...@@ -46,9 +47,9 @@ registerSingleton(IExtensionTipsService, ExtensionTipsService);
registerSingleton(IExtensionsWorkbenchService, ExtensionsWorkbenchService); registerSingleton(IExtensionsWorkbenchService, ExtensionsWorkbenchService);
const workbenchRegistry = Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench); const workbenchRegistry = Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench);
workbenchRegistry.registerWorkbenchContribution(StatusUpdater); workbenchRegistry.registerWorkbenchContribution(StatusUpdater, LifecyclePhase.Running);
workbenchRegistry.registerWorkbenchContribution(KeymapExtensions); workbenchRegistry.registerWorkbenchContribution(KeymapExtensions, LifecyclePhase.Running);
workbenchRegistry.registerWorkbenchContribution(BetterMergeDisabled); workbenchRegistry.registerWorkbenchContribution(BetterMergeDisabled, LifecyclePhase.Running);
Registry.as<IOutputChannelRegistry>(OutputExtensions.OutputChannels) Registry.as<IOutputChannelRegistry>(OutputExtensions.OutputChannels)
.registerChannel(ExtensionsChannelId, ExtensionsLabel); .registerChannel(ExtensionsChannelId, ExtensionsLabel);
......
...@@ -32,6 +32,7 @@ import { DirtyFilesTracker } from 'vs/workbench/parts/files/common/dirtyFilesTra ...@@ -32,6 +32,7 @@ import { DirtyFilesTracker } from 'vs/workbench/parts/files/common/dirtyFilesTra
import { ExplorerViewlet } from 'vs/workbench/parts/files/browser/explorerViewlet'; import { ExplorerViewlet } from 'vs/workbench/parts/files/browser/explorerViewlet';
import { IEditorRegistry, EditorDescriptor, Extensions as EditorExtensions } from 'vs/workbench/browser/editor'; import { IEditorRegistry, EditorDescriptor, Extensions as EditorExtensions } from 'vs/workbench/browser/editor';
import { DataUriEditorInput } from 'vs/workbench/common/editor/dataUriEditorInput'; import { DataUriEditorInput } from 'vs/workbench/common/editor/dataUriEditorInput';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
// Viewlet Action // Viewlet Action
export class OpenExplorerViewletAction extends ToggleViewletAction { export class OpenExplorerViewletAction extends ToggleViewletAction {
...@@ -139,19 +140,13 @@ class FileEditorInputFactory implements IEditorInputFactory { ...@@ -139,19 +140,13 @@ class FileEditorInputFactory implements IEditorInputFactory {
Registry.as<IEditorInputFactoryRegistry>(EditorInputExtensions.EditorInputFactories).registerEditorInputFactory(FILE_EDITOR_INPUT_ID, FileEditorInputFactory); Registry.as<IEditorInputFactoryRegistry>(EditorInputExtensions.EditorInputFactories).registerEditorInputFactory(FILE_EDITOR_INPUT_ID, FileEditorInputFactory);
// Register File Editor Tracker // Register File Editor Tracker
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution( Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(FileEditorTracker, LifecyclePhase.Starting);
FileEditorTracker
);
// Register Save Error Handler // Register Save Error Handler
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution( Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(SaveErrorHandler, LifecyclePhase.Starting);
SaveErrorHandler
);
// Register Dirty Files Tracker // Register Dirty Files Tracker
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution( Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(DirtyFilesTracker, LifecyclePhase.Starting);
DirtyFilesTracker
);
// Configuration // Configuration
const configurationRegistry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration); const configurationRegistry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration);
......
...@@ -17,6 +17,7 @@ import Severity from 'vs/base/common/severity'; ...@@ -17,6 +17,7 @@ import Severity from 'vs/base/common/severity';
import { editorErrorForeground, editorWarningForeground } from 'vs/editor/common/view/editorColorRegistry'; import { editorErrorForeground, editorWarningForeground } from 'vs/editor/common/view/editorColorRegistry';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry'; import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
class MarkersDecorationsProvider implements IDecorationsProvider { class MarkersDecorationsProvider implements IDecorationsProvider {
...@@ -95,7 +96,7 @@ class MarkersFileDecorations implements IWorkbenchContribution { ...@@ -95,7 +96,7 @@ class MarkersFileDecorations implements IWorkbenchContribution {
} }
} }
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(MarkersFileDecorations); Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(MarkersFileDecorations, LifecyclePhase.Running);
Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration).registerConfiguration({ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration).registerConfiguration({
'id': 'problems', 'id': 'problems',
......
...@@ -31,10 +31,7 @@ class StartupProfiler implements IWorkbenchContribution { ...@@ -31,10 +31,7 @@ class StartupProfiler implements IWorkbenchContribution {
@IExtensionService extensionService: IExtensionService, @IExtensionService extensionService: IExtensionService,
) { ) {
// wait for everything to be ready // wait for everything to be ready
TPromise.join<any>([ extensionService.onReady().then(() => {
lifecycleService.when(LifecyclePhase.Running),
extensionService.onReady(),
]).then(() => {
this._stopProfiling(); this._stopProfiling();
}); });
} }
...@@ -92,4 +89,4 @@ class StartupProfiler implements IWorkbenchContribution { ...@@ -92,4 +89,4 @@ class StartupProfiler implements IWorkbenchContribution {
} }
const registry = Registry.as<IWorkbenchContributionsRegistry>(Extensions.Workbench); const registry = Registry.as<IWorkbenchContributionsRegistry>(Extensions.Workbench);
registry.registerWorkbenchContribution(StartupProfiler); registry.registerWorkbenchContribution(StartupProfiler, LifecyclePhase.Running);
...@@ -30,6 +30,7 @@ import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/edi ...@@ -30,6 +30,7 @@ import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/edi
import { CommandsRegistry } from 'vs/platform/commands/common/commands'; import { CommandsRegistry } from 'vs/platform/commands/common/commands';
import { IWorkspaceFolder } from 'vs/platform/workspace/common/workspace'; import { IWorkspaceFolder } from 'vs/platform/workspace/common/workspace';
import { IEditorRegistry, EditorDescriptor, Extensions as EditorExtensions } from 'vs/workbench/browser/editor'; import { IEditorRegistry, EditorDescriptor, Extensions as EditorExtensions } from 'vs/workbench/browser/editor';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
registerSingleton(IPreferencesService, PreferencesService); registerSingleton(IPreferencesService, PreferencesService);
...@@ -257,7 +258,7 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({ ...@@ -257,7 +258,7 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
} }
}); });
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(PreferencesContribution); Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(PreferencesContribution, LifecyclePhase.Starting);
CommandsRegistry.registerCommand(OPEN_FOLDER_SETTINGS_COMMAND, function (accessor: ServicesAccessor, args?: IWorkspaceFolder) { CommandsRegistry.registerCommand(OPEN_FOLDER_SETTINGS_COMMAND, function (accessor: ServicesAccessor, args?: IWorkspaceFolder) {
const preferencesService = accessor.get(IPreferencesService); const preferencesService = accessor.get(IPreferencesService);
......
...@@ -19,6 +19,7 @@ import { RunOnceScheduler } from 'vs/base/common/async'; ...@@ -19,6 +19,7 @@ import { RunOnceScheduler } from 'vs/base/common/async';
import URI from 'vs/base/common/uri'; import URI from 'vs/base/common/uri';
import { isEqual } from 'vs/base/common/resources'; import { isEqual } from 'vs/base/common/resources';
import { isLinux } from 'vs/base/common/platform'; import { isLinux } from 'vs/base/common/platform';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
interface IConfiguration extends IWindowsConfiguration { interface IConfiguration extends IWindowsConfiguration {
update: { channel: string; }; update: { channel: string; };
...@@ -161,4 +162,4 @@ export class SettingsChangeRelauncher implements IWorkbenchContribution { ...@@ -161,4 +162,4 @@ export class SettingsChangeRelauncher implements IWorkbenchContribution {
} }
const workbenchRegistry = <IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench); const workbenchRegistry = <IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench);
workbenchRegistry.registerWorkbenchContribution(SettingsChangeRelauncher); workbenchRegistry.registerWorkbenchContribution(SettingsChangeRelauncher, LifecyclePhase.Running);
...@@ -18,6 +18,7 @@ import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet'; ...@@ -18,6 +18,7 @@ import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';
import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService'; import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
import { StatusUpdater, StatusBarController } from './scmActivity'; import { StatusUpdater, StatusBarController } from './scmActivity';
import { SCMViewlet } from 'vs/workbench/parts/scm/electron-browser/scmViewlet'; import { SCMViewlet } from 'vs/workbench/parts/scm/electron-browser/scmViewlet';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
class OpenSCMViewletAction extends ToggleViewletAction { class OpenSCMViewletAction extends ToggleViewletAction {
...@@ -30,7 +31,7 @@ class OpenSCMViewletAction extends ToggleViewletAction { ...@@ -30,7 +31,7 @@ class OpenSCMViewletAction extends ToggleViewletAction {
} }
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench) Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(DirtyDiffWorkbenchController); .registerWorkbenchContribution(DirtyDiffWorkbenchController, LifecyclePhase.Starting);
const viewletDescriptor = new ViewletDescriptor( const viewletDescriptor = new ViewletDescriptor(
SCMViewlet, SCMViewlet,
...@@ -44,10 +45,10 @@ Registry.as<ViewletRegistry>(ViewletExtensions.Viewlets) ...@@ -44,10 +45,10 @@ Registry.as<ViewletRegistry>(ViewletExtensions.Viewlets)
.registerViewlet(viewletDescriptor); .registerViewlet(viewletDescriptor);
Registry.as(WorkbenchExtensions.Workbench) Registry.as(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(StatusUpdater); .registerWorkbenchContribution(StatusUpdater, LifecyclePhase.Starting);
Registry.as(WorkbenchExtensions.Workbench) Registry.as(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(StatusBarController); .registerWorkbenchContribution(StatusBarController, LifecyclePhase.Starting);
// Register Action to Open Viewlet // Register Action to Open Viewlet
Registry.as<IWorkbenchActionRegistry>(WorkbenchActionExtensions.WorkbenchActions).registerWorkbenchAction( Registry.as<IWorkbenchActionRegistry>(WorkbenchActionExtensions.WorkbenchActions).registerWorkbenchAction(
......
...@@ -7,8 +7,9 @@ import { IReplaceService } from 'vs/workbench/parts/search/common/replace'; ...@@ -7,8 +7,9 @@ import { IReplaceService } from 'vs/workbench/parts/search/common/replace';
import { ReplaceService, ReplacePreviewContentProvider } from 'vs/workbench/parts/search/browser/replaceService'; import { ReplaceService, ReplacePreviewContentProvider } from 'vs/workbench/parts/search/browser/replaceService';
import { Registry } from 'vs/platform/registry/common/platform'; import { Registry } from 'vs/platform/registry/common/platform';
import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
export function registerContributions(): void { export function registerContributions(): void {
registerSingleton(IReplaceService, ReplaceService); registerSingleton(IReplaceService, ReplaceService);
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(ReplacePreviewContentProvider); Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench).registerWorkbenchContribution(ReplacePreviewContentProvider, LifecyclePhase.Starting);
} }
...@@ -19,6 +19,7 @@ import { FileChangeType, IFileService } from 'vs/platform/files/common/files'; ...@@ -19,6 +19,7 @@ import { FileChangeType, IFileService } from 'vs/platform/files/common/files';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import pkg from 'vs/platform/node/package'; import pkg from 'vs/platform/node/package';
import product, { ISurveyData } from 'vs/platform/node/product'; import product, { ISurveyData } from 'vs/platform/node/product';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
class LanguageSurvey { class LanguageSurvey {
...@@ -144,5 +145,5 @@ class LanguageSurveysContribution implements IWorkbenchContribution { ...@@ -144,5 +145,5 @@ class LanguageSurveysContribution implements IWorkbenchContribution {
if (language === 'en' && product.surveys && product.surveys.length) { if (language === 'en' && product.surveys && product.surveys.length) {
const workbenchRegistry = <IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench); const workbenchRegistry = <IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench);
workbenchRegistry.registerWorkbenchContribution(LanguageSurveysContribution); workbenchRegistry.registerWorkbenchContribution(LanguageSurveysContribution, LifecyclePhase.Running);
} }
\ No newline at end of file
...@@ -17,6 +17,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; ...@@ -17,6 +17,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import pkg from 'vs/platform/node/package'; import pkg from 'vs/platform/node/package';
import product from 'vs/platform/node/product'; import product from 'vs/platform/node/product';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
const PROBABILITY = 0.15; const PROBABILITY = 0.15;
const SESSION_COUNT_KEY = 'nps/sessionCount'; const SESSION_COUNT_KEY = 'nps/sessionCount';
...@@ -96,5 +97,5 @@ class NPSContribution implements IWorkbenchContribution { ...@@ -96,5 +97,5 @@ class NPSContribution implements IWorkbenchContribution {
if (language === 'en' && product.npsSurveyUrl) { if (language === 'en' && product.npsSurveyUrl) {
const workbenchRegistry = <IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench); const workbenchRegistry = <IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench);
workbenchRegistry.registerWorkbenchContribution(NPSContribution); workbenchRegistry.registerWorkbenchContribution(NPSContribution, LifecyclePhase.Running);
} }
\ No newline at end of file
...@@ -2384,8 +2384,6 @@ statusbarRegistry.registerStatusbarItem(new StatusbarItemDescriptor(TaskStatusBa ...@@ -2384,8 +2384,6 @@ statusbarRegistry.registerStatusbarItem(new StatusbarItemDescriptor(TaskStatusBa
let outputChannelRegistry = <IOutputChannelRegistry>Registry.as(OutputExt.OutputChannels); let outputChannelRegistry = <IOutputChannelRegistry>Registry.as(OutputExt.OutputChannels);
outputChannelRegistry.registerChannel(TaskService.OutputChannelId, TaskService.OutputChannelLabel); outputChannelRegistry.registerChannel(TaskService.OutputChannelId, TaskService.OutputChannelLabel);
// (<IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench)).registerWorkbenchContribution(TaskServiceParticipant);
// tasks.json validation // tasks.json validation
let schemaId = 'vscode://schemas/tasks'; let schemaId = 'vscode://schemas/tasks';
let schema: IJSONSchema = { let schema: IJSONSchema = {
......
...@@ -11,7 +11,7 @@ import { TPromise } from 'vs/base/common/winjs.base'; ...@@ -11,7 +11,7 @@ import { TPromise } from 'vs/base/common/winjs.base';
import { Action } from 'vs/base/common/actions'; import { Action } from 'vs/base/common/actions';
import { IWorkbenchContributionsRegistry, IWorkbenchContribution, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { IWorkbenchContributionsRegistry, IWorkbenchContribution, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
import { Registry } from 'vs/platform/registry/common/platform'; import { Registry } from 'vs/platform/registry/common/platform';
import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle'; import { ILifecycleService, LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
import { IMessageService, Severity } from 'vs/platform/message/common/message'; import { IMessageService, Severity } from 'vs/platform/message/common/message';
import { IPreferencesService } from 'vs/workbench/parts/preferences/common/preferences'; import { IPreferencesService } from 'vs/workbench/parts/preferences/common/preferences';
import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration'; import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration';
...@@ -110,4 +110,4 @@ class UnsupportedWorkspaceSettingsContribution implements IWorkbenchContribution ...@@ -110,4 +110,4 @@ class UnsupportedWorkspaceSettingsContribution implements IWorkbenchContribution
} }
const workbenchRegistry = <IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench); const workbenchRegistry = <IWorkbenchContributionsRegistry>Registry.as(WorkbenchExtensions.Workbench);
workbenchRegistry.registerWorkbenchContribution(UnsupportedWorkspaceSettingsContribution); workbenchRegistry.registerWorkbenchContribution(UnsupportedWorkspaceSettingsContribution, LifecyclePhase.Running);
...@@ -18,13 +18,14 @@ import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; ...@@ -18,13 +18,14 @@ import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry'; import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
import { ShowCurrentReleaseNotesAction, ProductContribution, UpdateContribution, Win3264BitContribution } from './update'; import { ShowCurrentReleaseNotesAction, ProductContribution, UpdateContribution, Win3264BitContribution } from './update';
import { EditorDescriptor, IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/browser/editor'; import { EditorDescriptor, IEditorRegistry, Extensions as EditorExtensions } from 'vs/workbench/browser/editor';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench) Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(ProductContribution); .registerWorkbenchContribution(ProductContribution, LifecyclePhase.Running);
if (process.platform === 'win32' && process.arch === 'ia32') { if (process.platform === 'win32' && process.arch === 'ia32') {
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench) Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(Win3264BitContribution); .registerWorkbenchContribution(Win3264BitContribution, LifecyclePhase.Running);
} }
Registry.as<IGlobalActivityRegistry>(GlobalActivityExtensions) Registry.as<IGlobalActivityRegistry>(GlobalActivityExtensions)
......
...@@ -118,12 +118,10 @@ export class WatermarkContribution implements IWorkbenchContribution { ...@@ -118,12 +118,10 @@ export class WatermarkContribution implements IWorkbenchContribution {
this.workbenchState = contextService.getWorkbenchState(); this.workbenchState = contextService.getWorkbenchState();
lifecycleService.onShutdown(this.dispose, this); lifecycleService.onShutdown(this.dispose, this);
lifecycleService.when(LifecyclePhase.Running).then(() => { this.enabled = this.configurationService.getValue<boolean>(WORKBENCH_TIPS_ENABLED_KEY);
this.enabled = this.configurationService.getValue<boolean>(WORKBENCH_TIPS_ENABLED_KEY); if (this.enabled) {
if (this.enabled) { this.create();
this.create(); }
}
});
this.toDispose.push(this.configurationService.onDidChangeConfiguration(e => { this.toDispose.push(this.configurationService.onDidChangeConfiguration(e => {
if (e.affectsConfiguration(WORKBENCH_TIPS_ENABLED_KEY)) { if (e.affectsConfiguration(WORKBENCH_TIPS_ENABLED_KEY)) {
const enabled = this.configurationService.getValue<boolean>(WORKBENCH_TIPS_ENABLED_KEY); const enabled = this.configurationService.getValue<boolean>(WORKBENCH_TIPS_ENABLED_KEY);
...@@ -212,7 +210,7 @@ export class WatermarkContribution implements IWorkbenchContribution { ...@@ -212,7 +210,7 @@ export class WatermarkContribution implements IWorkbenchContribution {
} }
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench) Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(WatermarkContribution); .registerWorkbenchContribution(WatermarkContribution, LifecyclePhase.Running);
Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration) Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
.registerConfiguration({ .registerConfiguration({
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
import { Registry } from 'vs/platform/registry/common/platform'; import { Registry } from 'vs/platform/registry/common/platform';
import { GettingStarted } from './gettingStarted'; import { GettingStarted } from './gettingStarted';
import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
Registry Registry
.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench) .as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(GettingStarted); .registerWorkbenchContribution(GettingStarted, LifecyclePhase.Running);
\ No newline at end of file \ No newline at end of file
...@@ -12,6 +12,7 @@ import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/wor ...@@ -12,6 +12,7 @@ import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/wor
import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry'; import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
import { IEditorInputFactoryRegistry, Extensions as EditorExtensions } from 'vs/workbench/common/editor'; import { IEditorInputFactoryRegistry, Extensions as EditorExtensions } from 'vs/workbench/common/editor';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration) Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
.registerConfiguration({ .registerConfiguration({
...@@ -34,7 +35,7 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration) ...@@ -34,7 +35,7 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
}); });
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench) Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(WelcomePageContribution); .registerWorkbenchContribution(WelcomePageContribution, LifecyclePhase.Running);
Registry.as<IWorkbenchActionRegistry>(ActionExtensions.WorkbenchActions) Registry.as<IWorkbenchActionRegistry>(ActionExtensions.WorkbenchActions)
.registerWorkbenchAction(new SyncActionDescriptor(WelcomePageAction, WelcomePageAction.ID, WelcomePageAction.LABEL), 'Help: Welcome', localize('help', "Help")); .registerWorkbenchAction(new SyncActionDescriptor(WelcomePageAction, WelcomePageAction.ID, WelcomePageAction.LABEL), 'Help: Welcome', localize('help', "Help"));
......
...@@ -28,7 +28,7 @@ import { IMessageService, Severity, CloseAction } from 'vs/platform/message/comm ...@@ -28,7 +28,7 @@ import { IMessageService, Severity, CloseAction } from 'vs/platform/message/comm
import { getInstalledExtensions, IExtensionStatus, onExtensionChanged, isKeymapExtension } from 'vs/workbench/parts/extensions/electron-browser/extensionsUtils'; import { getInstalledExtensions, IExtensionStatus, onExtensionChanged, isKeymapExtension } from 'vs/workbench/parts/extensions/electron-browser/extensionsUtils';
import { IExtensionEnablementService, IExtensionManagementService, IExtensionGalleryService, IExtensionTipsService } from 'vs/platform/extensionManagement/common/extensionManagement'; import { IExtensionEnablementService, IExtensionManagementService, IExtensionGalleryService, IExtensionTipsService } from 'vs/platform/extensionManagement/common/extensionManagement';
import { used } from 'vs/workbench/parts/welcome/page/electron-browser/vs_code_welcome_page'; import { used } from 'vs/workbench/parts/welcome/page/electron-browser/vs_code_welcome_page';
import { ILifecycleService, StartupKind, LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle'; import { ILifecycleService, StartupKind } from 'vs/platform/lifecycle/common/lifecycle';
import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { tildify } from 'vs/base/common/labels'; import { tildify } from 'vs/base/common/labels';
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService'; import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
...@@ -58,10 +58,7 @@ export class WelcomePageContribution implements IWorkbenchContribution { ...@@ -58,10 +58,7 @@ export class WelcomePageContribution implements IWorkbenchContribution {
) { ) {
const enabled = isWelcomePageEnabled(configurationService); const enabled = isWelcomePageEnabled(configurationService);
if (enabled && lifecycleService.startupKind !== StartupKind.ReloadedWindow) { if (enabled && lifecycleService.startupKind !== StartupKind.ReloadedWindow) {
TPromise.join([ backupFileService.hasBackups().then(hasBackups => {
backupFileService.hasBackups(),
lifecycleService.when(LifecyclePhase.Running)
]).then(([hasBackups]) => {
const activeInput = editorService.getActiveEditorInput(); const activeInput = editorService.getActiveEditorInput();
if (!activeInput && !hasBackups) { if (!activeInput && !hasBackups) {
return instantiationService.createInstance(WelcomePage) return instantiationService.createInstance(WelcomePage)
......
...@@ -20,6 +20,7 @@ import { KeyCode } from 'vs/base/common/keyCodes'; ...@@ -20,6 +20,7 @@ import { KeyCode } from 'vs/base/common/keyCodes';
import { EditorContextKeys } from 'vs/editor/common/editorContextKeys'; import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { IEditorRegistry, Extensions as EditorExtensions, EditorDescriptor } from 'vs/workbench/browser/editor'; import { IEditorRegistry, Extensions as EditorExtensions, EditorDescriptor } from 'vs/workbench/browser/editor';
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
Registry.as<IEditorRegistry>(EditorExtensions.Editors) Registry.as<IEditorRegistry>(EditorExtensions.Editors)
.registerEditor(new EditorDescriptor( .registerEditor(new EditorDescriptor(
...@@ -37,10 +38,10 @@ Registry.as<IWorkbenchActionRegistry>(Extensions.WorkbenchActions) ...@@ -37,10 +38,10 @@ Registry.as<IWorkbenchActionRegistry>(Extensions.WorkbenchActions)
Registry.as<IEditorInputFactoryRegistry>(EditorInputExtensions.EditorInputFactories).registerEditorInputFactory(EditorWalkThroughInputFactory.ID, EditorWalkThroughInputFactory); Registry.as<IEditorInputFactoryRegistry>(EditorInputExtensions.EditorInputFactories).registerEditorInputFactory(EditorWalkThroughInputFactory.ID, EditorWalkThroughInputFactory);
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench) Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(WalkThroughContentProvider); .registerWorkbenchContribution(WalkThroughContentProvider, LifecyclePhase.Starting);
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench) Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
.registerWorkbenchContribution(WalkThroughSnippetContentProvider); .registerWorkbenchContribution(WalkThroughSnippetContentProvider, LifecyclePhase.Starting);
Registry.as<IWorkbenchActionRegistry>(Extensions.WorkbenchActions) Registry.as<IWorkbenchActionRegistry>(Extensions.WorkbenchActions)
.registerWorkbenchAction(new SyncActionDescriptor(WalkThroughArrowUpAction, WalkThroughArrowUpAction.ID, WalkThroughArrowUpAction.LABEL, { primary: KeyCode.UpArrow }, ContextKeyExpr.and(WALK_THROUGH_FOCUS, EditorContextKeys.textFocus.toNegated())), 'Interactive Playground: Scroll Up (Line)', localize('interactivePlayground', "Interactive Playground")); .registerWorkbenchAction(new SyncActionDescriptor(WalkThroughArrowUpAction, WalkThroughArrowUpAction.ID, WalkThroughArrowUpAction.LABEL, { primary: KeyCode.UpArrow }, ContextKeyExpr.and(WALK_THROUGH_FOCUS, EditorContextKeys.textFocus.toNegated())), 'Interactive Playground: Scroll Up (Line)', localize('interactivePlayground', "Interactive Playground"));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册