diff --git a/extensions/typescript-language-features/src/features/organizeImports.ts b/extensions/typescript-language-features/src/features/organizeImports.ts index 7aa0f124d3f3aab27254669b8b563334cec56dc0..2eee2cf95ac89e28ec8cce0d5da70aa48b4b9b18 100644 --- a/extensions/typescript-language-features/src/features/organizeImports.ts +++ b/extensions/typescript-language-features/src/features/organizeImports.ts @@ -9,6 +9,7 @@ import * as Proto from '../protocol'; import { ITypeScriptServiceClient } from '../typescriptService'; import { Command, CommandManager } from '../utils/commandManager'; import * as typeconverts from '../utils/typeConverters'; +import FileConfigurationManager from './fileConfigurationManager'; const localize = nls.loadMessageBundle(); @@ -48,7 +49,8 @@ class OrganizeImportsCommand implements Command { export class OrganizeImportsCodeActionProvider implements vscode.CodeActionProvider { public constructor( private readonly client: ITypeScriptServiceClient, - commandManager: CommandManager + commandManager: CommandManager, + private readonly fileConfigManager: FileConfigurationManager, ) { commandManager.register(new OrganizeImportsCommand(client)); } @@ -61,7 +63,7 @@ export class OrganizeImportsCodeActionProvider implements vscode.CodeActionProvi document: vscode.TextDocument, _range: vscode.Range, _context: vscode.CodeActionContext, - _token: vscode.CancellationToken + token: vscode.CancellationToken ): vscode.CodeAction[] { if (!this.client.apiVersion.has280Features()) { return []; @@ -72,6 +74,8 @@ export class OrganizeImportsCodeActionProvider implements vscode.CodeActionProvi return []; } + this.fileConfigManager.ensureConfigurationForDocument(document, token); + const action = new vscode.CodeAction( localize('oraganizeImportsAction.title', "Organize Imports"), vscode.CodeActionKind.SourceOrganizeImports); diff --git a/extensions/typescript-language-features/src/languageProvider.ts b/extensions/typescript-language-features/src/languageProvider.ts index ad10a3e126496a4e9156a089a594287e69a6fbc1..08a509b83ae0a7201ac5a653a5d287542c40c6c3 100644 --- a/extensions/typescript-language-features/src/languageProvider.ts +++ b/extensions/typescript-language-features/src/languageProvider.ts @@ -249,7 +249,7 @@ export default class LanguageProvider { } if (this.client.apiVersion.has280Features()) { - const organizeImportsProvider = new (await import('./features/organizeImports')).OrganizeImportsCodeActionProvider(this.client, this.commandManager); + const organizeImportsProvider = new (await import('./features/organizeImports')).OrganizeImportsCodeActionProvider(this.client, this.commandManager, this.fileConfigurationManager); this.versionDependentDisposables.push(languages.registerCodeActionsProvider(selector, organizeImportsProvider, organizeImportsProvider.metadata)); } }