-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Open
Labels
Needs InvestigationThis issue needs a team member to investigate its status.This issue needs a team member to investigate its status.
Milestone
Description
Search Terms
- getCodeFixes cache
Suggestion
In tsserver, the completionInfo
request benefits from a cache of import suggestions.
TypeScript/src/services/completions.ts
Lines 1627 to 1631 in d156bb8
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.This issue needs a team member to investigate its status.