2017-09-05 51 views
-1

我確定這是一個常見問題,但找不到我自己搜索的答案。WebStorm中的編碼輔助或類型提示事件處理程序

我正在學習使用WebStorm作爲我的IDE的Node。按照此回答here所述,我已啓用編碼協助。

,它開始工作:

enter image description here

現在進一步下降,因爲我開始爲我的對象掛接事件處理程序。在這種情況下,對於net.Server對象上的傳入連接的簡單事件處理程序。但它不知道傳遞給server.on的回調函數期望的對象類型。因此,只要我鍵入.以啓動clientSocket的編碼輔助對話框,它只能顯示Object的常用方法,而不是該對象真正期望的net.Socket類型。

enter image description here

我得到的JavaScript是弱類型,它是任何IDE自動識別這些變量的類型,開發商正在打一個挑戰。

如果有一種方法可以配置WebStorm來做到這一點,那麼很好。否則,是否有一些簡單的註釋或註釋可以添加到代碼中,以便IDE爲變量實際對象類型提供提示,以便在此情況下可以使用編碼協助?

+0

你可以明確告訴你的參數是什麼類型的變量。通過在函數聲明上面使用'/ ** @param TYPE name * /'。如果你的ide知道這個聲明,它可以爲你提供一個自動完成。 –

+0

我嘗試了不同的變化。它似乎沒有工作。也許你可以被說服寫出一個完整的答案,顯示如何註釋傳遞給'on'的事件處理程序? – selbie

+1

我不知道'clientSocket'實際上是什麼類型,因爲我從來沒有爲Node.js編寫應用程序。我只能以更一般的方式回答(例如對於簡單的加載事件): 'document.addEventListener('DOMContentLoaded', /** * @param {Event} param */ function(param){ } );' 請注意評論裏面的{}。我想唯一缺少的是node.js EventListener回調參數的正確類型。 –

回答

0

底線。 WebStorm並沒有很好地處理非強類型的JavaScript等語言。

我切換到VS Code併爲TypeScript設置它,它只是工作。然後,我嘗試了Visual Studio 2017的節點支持。哇 - 所有的工作與Typescript開箱即用。

+0

2018更新。我最終得到了WebStorm的更新,並且通過使用我概述的步驟(在這裏爲此答案)(https://stackoverflow.com/a/48856573/104458) – selbie

相關問題