diff --git a/extensions/typescript-language-features/src/features/rename.ts b/extensions/typescript-language-features/src/features/rename.ts index db68acf38f3..9074faa4372 100644 --- a/extensions/typescript-language-features/src/features/rename.ts +++ b/extensions/typescript-language-features/src/features/rename.ts @@ -8,6 +8,7 @@ import * as vscode from 'vscode'; import * as nls from 'vscode-nls'; import type * as Proto from '../protocol'; import { ITypeScriptServiceClient, ServerResponse } from '../typescriptService'; +import API from '../utils/api'; import * as typeConverters from '../utils/typeConverters'; import FileConfigurationManager from './fileConfigurationManager'; @@ -24,6 +25,10 @@ class TypeScriptRenameProvider implements vscode.RenameProvider { position: vscode.Position, token: vscode.CancellationToken ): Promise { + if (this.client.apiVersion.lt(API.v310)) { + return null; + } + const response = await this.execRename(document, position, token); if (response?.type !== 'response' || !response.body) { return null; @@ -34,12 +39,7 @@ class TypeScriptRenameProvider implements vscode.RenameProvider { return Promise.reject(renameInfo.localizedErrorMessage); } - const triggerSpan = renameInfo.triggerSpan; // added in TS 3.1 - if (triggerSpan) { - return typeConverters.Range.fromTextSpan(triggerSpan); - } - - return null; + return typeConverters.Range.fromTextSpan(renameInfo.triggerSpan); } public async provideRenameEdits(