Skip to content

Commit 534600c

Browse files
committed
Don't error when scanning nonexistent extension dir
1 parent b9fc404 commit 534600c

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

scripts/vscode.patch

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ index 9373b22383..a98ff4723c 100644
278278
constructor(private _args: ParsedArgs, private _execPath: string) {
279279
if (!process.env['VSCODE_LOGS']) {
280280
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
282282
--- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts
283283
+++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts
284284
@@ -725,11 +725,15 @@ export class ExtensionManagementService extends Disposable implements IExtension
@@ -320,7 +320,20 @@ index 70cd46c824..33d661644b 100644
320320
.then(([uninstalled, extensions]) => {
321321
extensions = extensions.filter(e => !uninstalled[new ExtensionIdentifierWithVersion(e.identifier, e.manifest.version).key()]);
322322
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
324337

325338
private async removeUninstalledExtensions(): Promise<void> {
326339
const uninstalled = await this.getUninstalledExtensions();
@@ -329,7 +342,7 @@ index 70cd46c824..33d661644b 100644
329342
const installed: Set<string> = new Set<string>();
330343
for (const e of extensions) {
331344
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
333346
}
334347

335348
private removeOutdatedExtensions(): Promise<void> {

src/server.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -481,6 +481,8 @@ export class MainServer extends Server {
481481
util.promisify(fs.readFile)(filePath, "utf8"),
482482
this.servicesPromise,
483483
]);
484+
const logger = this.services.get(ILogService) as ILogService;
485+
logger.info("request.url", `"${request.url}"`);
484486
const environment = this.services.get(IEnvironmentService) as IEnvironmentService;
485487
const locale = environment.args.locale || await getLocaleFromConfig(environment.userDataPath);
486488
const cwd = process.env.VSCODE_CWD || process.cwd();

0 commit comments

Comments
 (0)