【问题标题】:Specify type of globals declared in another file指定在另一个文件中声明的全局变量的类型
【发布时间】:2011-09-21 08:27:49
【问题描述】:

我如何告诉我的 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

【问题讨论】:

    标签: javascript intellij-idea phpstorm jsdoc


    【解决方案1】:

    答案的第一部分 - 如何将它们标记为外部声明:

    将普通的var 声明放在“导入”文件的开头。

    这(有点令人惊讶)不会用“模块本地”替换“全局”,因为 JS 没有模块局部变量。

    对于第二部分 - 我正在使用 PyCharm,它似乎可以很好地处理这种情况,至少在 2.0 EAP 中是这样。

    【讨论】:

    • 第二部分紧跟第一部分。哪个有效。谢谢!
    • 很高兴听到它。顺便说一句,jetbean 的 IDE 似乎是迄今为止最好的自动完成功能,它们甚至分析了被调用函数中使用的 dict 键和所有包含脚本的文件(甚至看起来像它们的内部调用),这让我感到震惊。
    • 是的,我对 Jetbrains 的东西感到惊讶。我没想到我会遇到支持 PHP 重构的 IDE。并且理解诸如 SASS 之类的东西。
    猜你喜欢
    • 2020-01-15
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多