VSCode 的智能电话中未定义类型“Imagick”

sam*_*het 10 php imagick visual-studio-code intelephense

我遇到了一个问题,我通过 Pecl 安装了 Imagick,但 Intelephense 不知道如何处理该扩展并且未能显示任何代码完成,即使该扩展已正确安装在 php.ini 文件中并且工作正常。
一些屏幕截图,以使其更加清晰:
1.使用 Imagick 的代码
2. 显示 imagick 扩展安装在 php.ini 中的 Bash 输出:

ddruganov@MBP-Demid:~$ php -i | grep imagick
imagick
imagick module => enabled
imagick module version => 3.4.4
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.skip_version_check => 0 => 0
Run Code Online (Sandbox Code Playgroud)
  1. Bash 输出显示扩展所在的位置:
ddruganov@MBP-Demid:~$ mdfind imagick.so
/usr/local/lib/php/pecl/20190902/imagick.so
Run Code Online (Sandbox Code Playgroud)

sam*_*het 24

原来 intelphense 只是没有配置为知道这个扩展是什么。
解决方法很简单:

  1. 转到 VSCode 中的 Intelephense 扩展设置
  2. 转到名为“Intelephense:存根”的设置
  3. 添加一个名为“imagick”的新项目
  4. 保存并关闭设置(虽然我相信它们会
    自动保存)
  5. 完毕

完成所有这些后,Intelephense 会显示有关 Imagick 的所有信息,并且自动完成工作正常:证明

希望这可以帮助某人!

  • 我已经看到这个错误很久了,你救了我的命。谢谢 (3认同)