Fix deprecated JSDoc tags not showing for default imports #22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When hovering over a default import identifier, the TypeScript language service was not displaying JSDoc deprecation information from the corresponding
export default
statement. This issue affected IDE features like quick info tooltips.Problem
Consider this code:
When hovering over
defaultExport
, the quick info tooltip would only show:But it should also show the deprecation message:
Named imports like
depr
worked correctly and showed their deprecation information.Root Cause
The issue was in the symbol display logic in
src/services/symbolDisplay.ts
. For default imports:SymbolFlags.Alias
but notSymbolFlags.ExportValue
(unlike named imports which have both)getAliasedSymbol()
returns the symbol for the exported value (notDeprecated
)ExportAssignment
node, not on the resolved symbolSolution
Added logic to detect default imports using symbol flags and extract JSDoc from the corresponding export assignment:
(flags & SymbolFlags.Alias) && !(flags & SymbolFlags.ExportValue)
(flags & SymbolFlags.Alias) && (flags & SymbolFlags.ExportValue)
For default imports, the code now:
getJSDocCommentsAndTags()
Addressing #20.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.