@@ -278,7 +278,7 @@ index 9373b22383..a98ff4723c 100644
278
278
constructor(private _args: ParsedArgs, private _execPath: string) {
279
279
if (!process.env['VSCODE_LOGS']) {
280
280
diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
281
- index 70cd46c824..33d661644b 100644
281
+ index 70cd46c824..3a38a91d8b 100644
282
282
--- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts
283
283
+++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
284
284
@@ -725,11 +725,15 @@ export class ExtensionManagementService extends Disposable implements IExtension
@@ -320,7 +320,20 @@ index 70cd46c824..33d661644b 100644
320
320
.then(([uninstalled, extensions]) => {
321
321
extensions = extensions.filter(e => !uninstalled[new ExtensionIdentifierWithVersion(e.identifier, e.manifest.version).key()]);
322
322
if (excludeOutdated) {
323
- @@ -806,7 +817,7 @@ export class ExtensionManagementService extends Disposable implements IExtension
323
+ @@ -768,6 +779,12 @@ export class ExtensionManagementService extends Disposable implements IExtension
324
+ private scanExtensions(root: string, type: ExtensionType): Promise<ILocalExtension[]> {
325
+ const limiter = new Limiter<any>(10);
326
+ return pfs.readdir(root)
327
+ + .catch((error) => {
328
+ + if (error.code !== 'ENOENT') {
329
+ + throw error;
330
+ + }
331
+ + return [];
332
+ + })
333
+ .then(extensionsFolders => Promise.all<ILocalExtension>(extensionsFolders.map(extensionFolder => limiter.queue(() => this.scanExtension(extensionFolder, root, type)))))
334
+ .then(extensions => extensions.filter(e => e && e.identifier));
335
+ }
336
+ @@ -806,7 +823,7 @@ export class ExtensionManagementService extends Disposable implements IExtension
324
337
325
338
private async removeUninstalledExtensions(): Promise<void> {
326
339
const uninstalled = await this.getUninstalledExtensions();
@@ -329,7 +342,7 @@ index 70cd46c824..33d661644b 100644
329
342
const installed: Set<string> = new Set<string>();
330
343
for (const e of extensions) {
331
344
if (!uninstalled[new ExtensionIdentifierWithVersion(e.identifier, e.manifest.version).key()]) {
332
- @@ -825,7 +836 ,7 @@ export class ExtensionManagementService extends Disposable implements IExtension
345
+ @@ -825,7 +842 ,7 @@ export class ExtensionManagementService extends Disposable implements IExtension
333
346
}
334
347
335
348
private removeOutdatedExtensions(): Promise<void> {
0 commit comments