Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandeep Somavarapu <sasomava@microsoft.com>2022-06-26 01:06:27 +0300
committerSandeep Somavarapu <sasomava@microsoft.com>2022-06-26 01:06:27 +0300
commit94459e758e229b13d882cc8298ad98c67586a52f (patch)
tree9e35a1ef15d68e2e77e3540a6d13a7487ac70538 /src/vs/workbench/contrib/extensions
parentd1b4630a508ffd3bd6aab7a077dbfd0fdbadb1ba (diff)
Improve extensions management in profiles
- Make version property mandatory in extension profiles (like in web) - Extend extensions clean up to profiles - Add necessay changes in other services to support extension cleanup: - Introduce INativeServerExtensionManagementService - Extend profile change event to provide added and removed profiles
Diffstat (limited to 'src/vs/workbench/contrib/extensions')
-rw-r--r--src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts15
-rw-r--r--src/vs/workbench/contrib/extensions/browser/extensionsCleaner.ts19
2 files changed, 13 insertions, 21 deletions
diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
index 6fbc52d18ba..57969a4ba9b 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts
@@ -75,7 +75,8 @@ import { Event } from 'vs/base/common/event';
import { IPaneCompositePartService } from 'vs/workbench/services/panecomposite/browser/panecomposite';
import { UnsupportedExtensionsMigrationContrib } from 'vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution';
import { isWeb } from 'vs/base/common/platform';
-import { ExtensionsCleaner } from 'vs/workbench/contrib/extensions/browser/extensionsCleaner';
+import { ExtensionStorageService } from 'vs/platform/extensionManagement/common/extensionStorage';
+import { IStorageService } from 'vs/platform/storage/common/storage';
// Singletons
registerSingleton(IExtensionsWorkbenchService, ExtensionsWorkbenchService);
@@ -1559,6 +1560,16 @@ class ExtensionsContributions extends Disposable implements IWorkbenchContributi
}
+class ExtensionStorageCleaner implements IWorkbenchContribution {
+
+ constructor(
+ @IExtensionManagementService extensionManagementService: IExtensionManagementService,
+ @IStorageService storageService: IStorageService,
+ ) {
+ ExtensionStorageService.removeOutdatedExtensionVersions(extensionManagementService, storageService);
+ }
+}
+
const workbenchRegistry = Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench);
workbenchRegistry.registerWorkbenchContribution(ExtensionsContributions, LifecyclePhase.Starting);
workbenchRegistry.registerWorkbenchContribution(StatusUpdater, LifecyclePhase.Restored);
@@ -1571,7 +1582,7 @@ workbenchRegistry.registerWorkbenchContribution(ExtensionEnablementWorkspaceTrus
workbenchRegistry.registerWorkbenchContribution(ExtensionsCompletionItemsProvider, LifecyclePhase.Restored);
workbenchRegistry.registerWorkbenchContribution(UnsupportedExtensionsMigrationContrib, LifecyclePhase.Eventually);
if (isWeb) {
- workbenchRegistry.registerWorkbenchContribution(ExtensionsCleaner, LifecyclePhase.Eventually);
+ workbenchRegistry.registerWorkbenchContribution(ExtensionStorageCleaner, LifecyclePhase.Eventually);
}
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsCleaner.ts b/src/vs/workbench/contrib/extensions/browser/extensionsCleaner.ts
deleted file mode 100644
index 2d9b7872491..00000000000
--- a/src/vs/workbench/contrib/extensions/browser/extensionsCleaner.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
-
-import { IExtensionManagementService } from 'vs/platform/extensionManagement/common/extensionManagement';
-import { ExtensionStorageService } from 'vs/platform/extensionManagement/common/extensionStorage';
-import { IStorageService } from 'vs/platform/storage/common/storage';
-import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
-
-export class ExtensionsCleaner implements IWorkbenchContribution {
-
- constructor(
- @IExtensionManagementService extensionManagementService: IExtensionManagementService,
- @IStorageService storageService: IStorageService,
- ) {
- ExtensionStorageService.removeOutdatedExtensionVersions(extensionManagementService, storageService);
- }
-}