Skip to content

Commit 51d294e

Browse files
committed
Remove extension dir scan catch
Now that we are creating the directories these shouldn't error. If they are somehow missing (if the user deletes them after VS Code starts for example) then I think we should surface that to the user.
1 parent 9ff29d1 commit 51d294e

File tree

1 file changed

+4
-15
lines changed

1 file changed

+4
-15
lines changed

lib/vscode/src/vs/platform/extensionManagement/node/extensionsScanner.ts

+4-15
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import { isWindows } from 'vs/base/common/platform';
2424
import { flatten } from 'vs/base/common/arrays';
2525
import { IStringDictionary } from 'vs/base/common/collections';
2626
import { FileAccess } from 'vs/base/common/network';
27-
import { FileOperationError, FileOperationResult, IFileService } from 'vs/platform/files/common/files';
27+
import { IFileService } from 'vs/platform/files/common/files';
2828
import { basename } from 'vs/base/common/resources';
2929
import { generateUuid } from 'vs/base/common/uuid';
3030
import { getErrorMessage } from 'vs/base/common/errors';
@@ -274,22 +274,11 @@ export class ExtensionsScanner extends Disposable {
274274
return [...systemExtensions, ...devSystemExtensions];
275275
}
276276

277+
277278
private async scanExtensionsInDir(dir: string, type: ExtensionType): Promise<ILocalExtension[]> {
278279
const limiter = new Limiter<any>(10);
279-
/*
280-
* NOTE@coder: use fileService.resolve() like upstream does,
281-
* but simply ignore directories that do not exist. (upstream does not)
282-
*
283-
* Used to (<1.54) use pfs.readdir.
284-
*/
285-
const stat = await this.fileService.resolve(URI.file(dir))
286-
.catch((error) => {
287-
if (!(error instanceof FileOperationError && error.fileOperationResult === FileOperationResult.FILE_NOT_FOUND)) {
288-
throw error;
289-
}
290-
return undefined;
291-
});
292-
if (stat && stat.children) {
280+
const stat = await this.fileService.resolve(URI.file(dir));
281+
if (stat.children) {
293282
const extensions = await Promise.all<ILocalExtension>(stat.children.filter(c => c.isDirectory)
294283
.map(c => limiter.queue(async () => {
295284
if (type === ExtensionType.User && basename(c.resource).indexOf('.') === 0) { // Do not consider user extension folder starting with `.`

0 commit comments

Comments
 (0)