2011-09-21 102 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