Vscode 可用属性 intellisense 在参数为字符串的函数中使用 javascript 或 typescript

Posted

技术标签:

【中文标题】Vscode 可用属性 intellisense 在参数为字符串的函数中使用 javascript 或 typescript【英文标题】:Vscode available properties intellisense using javascript or typescript in a function which's parameter is a string 【发布时间】:2021-12-07 20:54:27 【问题描述】:

看这里。

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

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

可能是使用 Jsdoc 或 typescript 等。

【问题讨论】:

【参考方案1】:

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

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

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

function myFunc(event: keyof WindowEventMap): void 

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

别人怎么用你的javascript函数?

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

【讨论】:

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

以上是关于Vscode 可用属性 intellisense 在参数为字符串的函数中使用 javascript 或 typescript的主要内容,如果未能解决你的问题,请参考以下文章

Intellisense 在 C# 中使用 Visual Studio Code 进行可用的“使用/导入”

VSCode 使用自定义 webpack 解析自动完成 javascript 导入的对象

Path intellisense不带后缀解决方案(VSCode插件)

Intellisense 在 VSCode 中不起作用 - OmniSharp 错误

vscode 中用于 tensorflowjs 的 Intellisense

VSCode Intellisense 不显示任何建议