diff --git a/extensions/typescript-language-features/src/features/rename.ts b/extensions/typescript-language-features/src/features/rename.ts index 3c2ba16b831..b0907601f49 100644 --- a/extensions/typescript-language-features/src/features/rename.ts +++ b/extensions/typescript-language-features/src/features/rename.ts @@ -5,11 +5,14 @@ import * as path from 'path'; import * as vscode from 'vscode'; +import * as nls from 'vscode-nls'; import * as Proto from '../protocol'; import { ITypeScriptServiceClient, ServerResponse } from '../typescriptService'; import API from '../utils/api'; import * as typeConverters from '../utils/typeConverters'; +const localize = nls.loadMessageBundle(); + class TypeScriptRenameProvider implements vscode.RenameProvider { public constructor( @@ -31,6 +34,10 @@ class TypeScriptRenameProvider implements vscode.RenameProvider { return Promise.reject(renameInfo.localizedErrorMessage); } + if (renameInfo.fileToRename && this.client.apiVersion.gte(API.v310) && this.client.apiVersion.lt(API.v320)) { + return Promise.reject(localize('fileToRename.notSupported', "Renaming paths is not supported in this version of TypeScript")); + } + if (this.client.apiVersion.gte(API.v310)) { const triggerSpan = renameInfo.triggerSpan; if (triggerSpan) {