Skip to content

Cache importFixes/fixMissingImport in getCodeFixes requests #41909

Open
@gluxon

Description

@gluxon

Search Terms

  • getCodeFixes cache

Suggestion

In tsserver, the completionInfo request benefits from a cache of import suggestions.

function getSymbolsFromOtherSourceFileExports(target: ScriptTarget, host: LanguageServiceHost): readonly AutoImportSuggestion[] {
const cached = importSuggestionsCache && importSuggestionsCache.get(
sourceFile.fileName,
typeChecker,
detailsEntryId && host.getProjectVersion ? host.getProjectVersion() : undefined);

Could the getCodeFixes request be extended to use a suggestion imports cache as well?

forEachExternalModuleToImportFrom(program, host, importingFile, /*filterByPackageJson*/ false, useAutoImportProvider, (moduleSymbol, moduleFile, program) => {

Both call codeFixes.forEachExternalModuleToImportFrom, which can be very slow in a large project. Thanks!

Checklist

My suggestion meets these guidelines:

  • This wouldn't be a breaking change in existing TypeScript/JavaScript code
  • This wouldn't change the runtime behavior of existing JavaScript code
  • This could be implemented without emitting different JS based on the types of the expressions
  • This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
  • This feature would agree with the rest of TypeScript's Design Goals.

Metadata

Metadata

Assignees

Labels

Needs InvestigationThis issue needs a team member to investigate its status.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions