Description
Vue - Official extension or vue-tsc version
2.1.6
VSCode version
1.92.2
Vue version
3.5.1
TypeScript version
5.5.4
System Info
No response
package.json dependencies
"devDependencies": {
"@types/node": "22.5.2",
"@vitejs/plugin-vue": "5.1.3",
"typescript": "5.5.4",
"unplugin-vue-components": "0.27.4",
"vite": "5.4.2",
"vue-tsc": "2.1.6"
},
"dependencies": {
"vue": "3.5.1"
}
Steps to reproduce
- Download the project locally, open in VSCode and install all dependencies
- In
App.vue
, hover overJTransition
andJSuspense
What is expected?
Both components have the proper JSDoc annotation given JTransition
is properly registered as a GlobalComponent automatically by unplugin-vue-components
and has full type annotation otherwise.
What is actually happening?
JTransition
(imported automatically by unplugin-vue-components
) does not show the JSDoc comment, while JSuspense
(ignored in unplugin-vue-components
and manually imported) does.
Link to minimal reproduction
https://stackblitz.com/edit/vue3-vite-typescript-starter-2bi7tj?file=src%2FApp.vue
Any additional comments?
It would also be great if the need for the setupJsdoc macro is removed, by doing this quick reproduction example I learned that it's possible to workaround it by adding an empty <script>
tag, so perhaps it can be done by adding it to the virtual codegen (not sure if that's the real name, not knowledgeable enough of the codebase yet) that Volar uses and deprecate that macro?