【问题标题】:Vscode available properties intellisense using javascript or typescript in a function which's parameter is a stringVscode 可用属性 intellisense 在参数为字符串的函数中使用 javascript 或 typescript
【发布时间】:2025-12-29 18:25:17
【问题描述】:

看这里。

对于addEventListener函数的第一个参数,vscode给了我几个内置的建议

我应该如何在我的 javascript 函数中使用它?

可能是使用 Jsdoc 或 typescript 等。

【问题讨论】:

    标签: javascript typescript visual-studio-code jsdoc


    【解决方案1】:

    您始终可以通过将鼠标悬停在 addEventListener 方法或 ctrl + click 上转到所有定义都存在的 lib.dom.d.ts 文件中的定义来查看 vscode 用于智能感知的内容。

    通过上述操作,您将看到 vscode 使用了一个名为 WindowEventMap 的类的键。

    所以你的函数接受事件侦听器名称可能是

    function myFunc(event: keyof WindowEventMap): void {
    }
    

    .d.ts 文件包含 java 脚本代码的类型。这就是您如何从发布到 npm 的某些包中获得类似问题中的类型的类型。

    别人怎么用你的javascript函数?

    1. 您是否正在创建一个可供其他人使用的 javascript 库?然后在开发过程中使用 typescript 并让 typescript 为您的代码生成 .d.ts 文件。或者,如果您不使用打字稿进行开发,则必须创建自己的声明。并使用这些 .d.ts 文件发布您的库。有关示例,请参阅 DefenitelyTyped 项目。
    2. 同一项目中的文件使用此功能?如果您使用我在上面的代码 sn-p 中提到的打字稿,那么智能感知将自动显示给用户。否则,如果您使用的是 javascript,那么您仍然可以尝试创建 .d.ts 文件并在您的 ts 配置中引用它们(我自己没有尝试过)。

    【讨论】:

    • 好的,那我应该如何使用 jsdoc 将它添加到我的 JS 文件中
    • 参考我的更新答案