diff --git a/extensions/typescript-language-features/src/features/updatePathsOnRename.ts b/extensions/typescript-language-features/src/features/updatePathsOnRename.ts index 6219e4c51a2..18c58e73df3 100644 --- a/extensions/typescript-language-features/src/features/updatePathsOnRename.ts +++ b/extensions/typescript-language-features/src/features/updatePathsOnRename.ts @@ -22,6 +22,17 @@ const localize = nls.loadMessageBundle(); const updateImportsOnFileMoveName = 'updateImportsOnFileMove.enabled'; +function isDirectory(path: string): Promise { + return new Promise((resolve, reject) => { + fs.stat(path, (err, stat) => { + if (err) { + return reject(err); + } + return resolve(stat.isDirectory()); + }); + }); +} + enum UpdateImportsOnFileMoveSetting { Prompt = 'prompt', Always = 'always', @@ -185,7 +196,7 @@ class UpdateImportsOnFileRenameHandler extends Disposable { return undefined; } - if (fs.lstatSync(resource.fsPath).isDirectory()) { + if (await isDirectory(resource.fsPath)) { const files = await vscode.workspace.findFiles({ base: resource.fsPath, pattern: '**/*.{ts,tsx,js,jsx}',