Javascript 在WebStorm中为事件处理程序编写代码或键入提示

Javascript 在WebStorm中为事件处理程序编写代码或键入提示,javascript,node.js,webstorm,type-hinting,Javascript,Node.js,Webstorm,Type Hinting,我确信这是一个常见问题,但我自己搜索时找不到答案 我正在学习使用WebStorm作为IDE的节点。我已启用此答案中所述的编码帮助 它开始起作用: 现在我开始为我的对象连接事件处理程序。在本例中,为net.Server对象上的传入连接提供了一个简单的事件处理程序。但是它不知道传递给服务器的回调函数所期望的对象类型。因此,只要我键入以打开clientSocket的编码辅助对话框,它就只能显示对象的常用方法,而不能显示该对象真正需要的net.Socket类型 我知道JavaScript是弱类型的,

我确信这是一个常见问题,但我自己搜索时找不到答案

我正在学习使用WebStorm作为IDE的节点。我已启用此答案中所述的编码帮助

它开始起作用:

现在我开始为我的对象连接事件处理程序。在本例中,为
net.Server
对象上的传入连接提供了一个简单的事件处理程序。但是它不知道传递给
服务器的回调函数所期望的对象类型。因此,只要我键入
以打开
clientSocket
的编码辅助对话框,它就只能显示
对象的常用方法,而不能显示该对象真正需要的
net.Socket
类型

我知道JavaScript是弱类型的,对于任何IDE来说,自动识别开发人员正在键入的变量类型都是一个挑战


如果有一种方法可以配置WebStorm来实现这一点,那就太好了。否则,是否有一些简单的注释或注释可以添加到代码中,这样IDE就可以得到关于变量实际对象类型的提示,这样在这种情况下编码辅助就可以工作?

底线。WebStorm不能很好地处理intellisense与非强类型语言(如JavaScript)的关系


我切换到VS代码并将其设置为TypeScript,它就可以工作了。然后我试用了Visual Studio 2017及其节点支持。哇-一切都可以使用开箱即用的Typescript。

您可以明确地告诉ide您的参数是什么类型的变量。在函数声明上方使用
/**@param TYPE name*/
。如果您的ide知道这个声明,它可以为您提供一个自动完成。它似乎不起作用。也许可以说服您写出一个完整的答案,说明如何注释传递给
上的
的事件处理程序?我不知道
clientSocket
实际上是什么类型,因为我从未为Node.js编写过应用程序。我只能以更一般的方式回答(例如,对于一个简单的加载事件):
document.addEventListener('DOMContentLoaded',/***@param{event}param*/函数(param){}
注意注释中的
{}
。我想唯一缺少的是node.js EventListener callbacks.Woot参数的正确类型。如果我完全按照您的方式内联注释,它现在就可以工作了。最后,将类型提示从
net.Socket
更改为
Socket
,它就可以工作了。谢谢类似的作品。。。它只显示有限的一组成员,但总比没有好。2018年更新。我最终得到了WebStorm的一个更新,主要是使用我概述的步骤使用TypeScript