JSDoc @type completion not working inside function argument
#62.281 aperta il 13 ago 2025
Metriche repository
- Star
- (48.455 star)
- Metriche merge PR
- (Merge medio 6g 17h) (9 PR mergiate in 30 g)
Descrizione
🔎 Search Terms
jsdoc, completion
🕗 Version & Regression Information
Never seems to have worked
⏯ Playground Link
No response
💻 Code
JSDoc has some completion issues with completions like this:
function someFunc(/** @type {^cursor here^} **/) {}
❌ Does not work - @type completion (in function argument) from @import with named argument
///<reference path="fourslash.ts" />
// @allowJS: true
// @checkJs: true
// @module: esnext
// @filename: ./a.ts
////export interface ABC {}
// @filename: ./b.js
/////** @import * as t from "./a" */
////function someFunc(/** @type {t./**/} */arg) {}
verify.completions({
marker: "",
includes: "ABC",
});
✅ Works - @type completion (in function argument) from @typedef and with named argument
///<reference path="fourslash.ts" />
// @allowJS: true
// @checkJs: true
// @module: esnext
// @filename: ./b.js
/////** @typedef {number} SomeNumber */
////function someFunc(/** @type {S/**/} */arg) {}
verify.completions({
marker: "",
includes: "SomeNumber",
});
✅ Works - @type completion (not part of function argument) from @import completion inside
///<reference path="fourslash.ts" />
// @allowJS: true
// @checkJs: true
// @module: esnext
// @filename: ./a.ts
////export interface ABC {}
// @filename: ./b.js
/////** @import * as t from "./a" */
/////** @type {t./**/} */
verify.completions({
marker: "",
includes: "ABC",
});
❌ Does not work - @type completion (in function argument) from @import (argument not named yet)
///<reference path="fourslash.ts" />
// @allowJS: true
// @checkJs: true
// @module: esnext
// @filename: ./a.ts
////export interface ABC {}
// @filename: ./b.js
/////** @import * as t from "./a" */
////function someFunc(/** @type {t./**/} */) {}
verify.completions({
marker: "",
includes: "ABC",
});
❌ Does not work - @type completion (in function argument) @typedef (argument not named yet)
///<reference path="fourslash.ts" />
// @allowJS: true
// @checkJs: true
// @module: esnext
// @filename: ./b.js
/////** @typedef {number} SomeNumber */
////function someFunc(/** @type {S/**/} */) {}
verify.completions({
marker: "",
includes: "SomeNumber",
});
🙁 Actual behavior
See above, completions are missing.
🙂 Expected behavior
See above, completions are present.
Additional information about the issue
No response