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.
This commit is contained in:
parent
9ff29d17fb
commit
51d294e163
@ -24,7 +24,7 @@ import { isWindows } from 'vs/base/common/platform';
|
||||
import { flatten } from 'vs/base/common/arrays';
|
||||
import { IStringDictionary } from 'vs/base/common/collections';
|
||||
import { FileAccess } from 'vs/base/common/network';
|
||||
import { FileOperationError, FileOperationResult, IFileService } from 'vs/platform/files/common/files';
|
||||
import { IFileService } from 'vs/platform/files/common/files';
|
||||
import { basename } from 'vs/base/common/resources';
|
||||
import { generateUuid } from 'vs/base/common/uuid';
|
||||
import { getErrorMessage } from 'vs/base/common/errors';
|
||||
@ -274,22 +274,11 @@ export class ExtensionsScanner extends Disposable {
|
||||
return [...systemExtensions, ...devSystemExtensions];
|
||||
}
|
||||
|
||||
|
||||
private async scanExtensionsInDir(dir: string, type: ExtensionType): Promise<ILocalExtension[]> {
|
||||
const limiter = new Limiter<any>(10);
|
||||
/*
|
||||
* NOTE@coder: use fileService.resolve() like upstream does,
|
||||
* but simply ignore directories that do not exist. (upstream does not)
|
||||
*
|
||||
* Used to (<1.54) use pfs.readdir.
|
||||
*/
|
||||
const stat = await this.fileService.resolve(URI.file(dir))
|
||||
.catch((error) => {
|
||||
if (!(error instanceof FileOperationError && error.fileOperationResult === FileOperationResult.FILE_NOT_FOUND)) {
|
||||
throw error;
|
||||
}
|
||||
return undefined;
|
||||
});
|
||||
if (stat && stat.children) {
|
||||
const stat = await this.fileService.resolve(URI.file(dir));
|
||||
if (stat.children) {
|
||||
const extensions = await Promise.all<ILocalExtension>(stat.children.filter(c => c.isDirectory)
|
||||
.map(c => limiter.queue(async () => {
|
||||
if (type === ExtensionType.User && basename(c.resource).indexOf('.') === 0) { // Do not consider user extension folder starting with `.`
|
||||
|
Reference in New Issue
Block a user