【问题标题】:PhpStorm: How to add method stubs from a PECL library that PhpStorm doesn't currently support?PhpStorm:如何从 PhpStorm 目前不支持的 PECL 库中添加方法存根?
【发布时间】:2017-01-10 03:09:21
【问题描述】:

PhpStorm 有一个来自各种编译时库 here 的方法存根列表,它将用于开发中的自动完成。

我目前有一个 stubs for the PHP AMQP PECL extension here 列表,我想将其添加到我的 PhpStorm 构建中以获得该库的自动完成功能。

有什么办法吗?

【问题讨论】:

    标签: php phpstorm


    【解决方案1】:

    只需将此类存根文件放在项目中的任何位置(或以任何其他受支持的方式引用,例如 Settings | Languages & Frameworks | PHP | Include path)- IDE 将仅将其用于代码完成(和类似)目的(因此您可以排除它们来自上传/VCS 等)。

    从长远来看,您可以将 PR 提交到已经提到的 PhpStorm stubs repository,它可能会成为下一个版本的标准 PhpStorm 分发的一部分。

    【讨论】:

    • 在 Mac 上是 Preferences | Languages & Frameworks | PHP | Include path
    • 有谁知道如何在全局或特定项目的基础上排除这些内置存根之一?我需要“忽略”其中一个存根,因为它与我自己的项目代码冲突。
    • @MichaelButler 不幸的是,没有“好”的方式。也许在未来的某一天——youtrack.jetbrains.com/issue/WI-5731。 “不太好”的方法是使用存根更改 PhpStorm 文件(它是一个 .jar 文件 - 里面是 .zip)并从那里删除不需要的存根。您可以 Ctrl+单击此类不需要的类/函数以进入相应的存根文件(您需要它来找出该存根的存储路径)。然后只需更改原始文件(当然,在 IDE 关闭时)。请注意,每个新的 IDE 版本都需要这样做。
    • @MichaelButler 从 PhpStorm 2016.3 开始,您可以克隆 PhpStorm stubs repository 并改用它(您可以在其中删除所有不需要的存根文件)。存根现在列在“项目视图”面板的“外部库”分支下.. 如果您浏览此类文件之一,IDE 将对它们提供很少的操作(将是编辑器窗口顶部的标准黄色通知栏)。本地副本的默认路径可以在相同的“包含路径”设置屏幕中进行配置——它现在在底部有可折叠的“高级”部分。
    • @LazyOne 非常感谢!刚刚做到了,效果很好。这太棒了,因为我们现在可以创建自己的分支并与之同步。
    【解决方案2】:

    2017 年 1 月更新:您可以 git clone(签出)PhpStorm stubs repository 到您的本地计算机,并将 PhpStorm 指向该目录。您可以从那里添加存根,甚至修改/删除现有存根。

    1. git clone https://github.com/JetBrains/phpstorm-stubs
    2. 打开首选项 -> 语言和框架 -> PHP
    3. 点击底部的高级设置
    4. 在默认存根路径旁边,单击 ... 并导航到 phpstorm-stubs 文件夹的根目录

    【讨论】:

    • 我是否必须做一些事情才能使其生效,然后按应用?它无法识别 SoapClient 及其方法。
    猜你喜欢
    • 2012-10-24
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 2013-08-07
    相关资源
    最近更新 更多