指定在另一个文件中声明的全局变量的类型

发布于 2024-12-05 16:32:29 字数 514 浏览 2 评论 0原文

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

How can I tell my IDE (PHPStorm) that certain global variables aren't "undeclared", but simply declared elsewhere; and have a specific type?

An example from Magento (opcheckout.js):

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

What I'd like to do is something like this:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

待"谢繁草 2024-12-12 16:32:29

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

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

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

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

A first part of answer - how to mark them as externally declared:

Put a normal var declaration to the beginning of "importing" file.

This (a bit surprisingly) doesn't replace 'global' with 'module local' because JS doesn't have module local variables.

For the second part - I'm using PyCharm and it seems like handling such cases quite fine, at least in 2.0 EAP.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文