2011-09-21 100 views
1

如何告訴我的IDE(PHPStorm)某些全局變量不是「未聲明」的,而是在其他地方聲明的;並有特定的類型?指定在另一個文件中聲明的全局變量的類型

從Magento的(opcheckout.js)的一個例子:

if (response.duplicateBillingInfo) { 
     shipping.setSameAsBilling(true); // "shipping undeclared" warning 
    } 
     // in fact, shipping is a global variable with constructor "Shipping". 

我希望做的是這樣的:

 /** @var Shipping window.shipping */ 
     shipping.setS // with autocompletion: 
       setSameAsBilling 

回答

1

答案的第一部分 - 如何將它們作爲外部標記聲明:

將正常的var聲明置於「導入」文件的開頭。

這個(有點令人驚訝的)不能用'module local'代替'global',因爲JS沒有模塊局部變量。

對於第二部分 - 我使用PyCharm,它似乎處理這種情況相當好,至少在2.0 EAP。

+0

第二部分從第一部分開始。哪些工作。謝謝! – demonkoryu

+0

很高興聽到它。順便說一下,jetbean的IDE似乎是自動完成的最佳選擇,他們甚至分析了被調用函數中使用的字典密鑰和所有腳本包含的文件(甚至看起來像是它們的內部調用),這讓我非常興奮。 – Guard

+0

是的,我很驚訝Jetbrains的東西。我不認爲我會遇到支持PHP重構的IDE;並瞭解像SASS這樣的東西。 – demonkoryu