@@ -24,7 +24,7 @@ import { isWindows } from 'vs/base/common/platform';
24
24
import { flatten } from 'vs/base/common/arrays' ;
25
25
import { IStringDictionary } from 'vs/base/common/collections' ;
26
26
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' ;
28
28
import { basename } from 'vs/base/common/resources' ;
29
29
import { generateUuid } from 'vs/base/common/uuid' ;
30
30
import { getErrorMessage } from 'vs/base/common/errors' ;
@@ -274,22 +274,11 @@ export class ExtensionsScanner extends Disposable {
274
274
return [ ...systemExtensions , ...devSystemExtensions ] ;
275
275
}
276
276
277
+
277
278
private async scanExtensionsInDir ( dir : string , type : ExtensionType ) : Promise < ILocalExtension [ ] > {
278
279
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 ) {
293
282
const extensions = await Promise . all < ILocalExtension > ( stat . children . filter ( c => c . isDirectory )
294
283
. map ( c => limiter . queue ( async ( ) => {
295
284
if ( type === ExtensionType . User && basename ( c . resource ) . indexOf ( '.' ) === 0 ) { // Do not consider user extension folder starting with `.`
0 commit comments