VSCode 的 intelephense 中未定义类型 'Imagick'
Undefined type 'Imagick' in VSCode's intelephense
我遇到了一个问题,我通过 Pecl 安装了 Imagick,而 Intelephense 不知道如何处理该扩展并且未能显示任何代码完成,即使扩展已正确安装在 php.ini 文件中,并且工作正常。
为了清楚起见,一些屏幕截图:
- Code where Imagick is used
- Bash 输出显示 imagick 扩展安装在 php.ini:
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
- Bash 显示扩展所在位置的输出:
ddruganov@MBP-Demid:~$ mdfind imagick.so
/usr/local/lib/php/pecl/20190902/imagick.so
结果是 intelephense 没有被配置为知道这个扩展是什么。
解决方法很简单:
- 转到 VSCode
中的 Intelephense 扩展设置
- 转到名为 'Intelephense: Stubs'
的设置
- 添加一个名为 'imagick'
的新项目
- 保存并关闭设置(虽然我相信它们已保存
自动)
- 完成
完成所有这些后,Intelephense 会显示有关 Imagick 的所有信息,并且自动完成工作正常:proof
希望这对某人有所帮助!
我遇到了一个问题,我通过 Pecl 安装了 Imagick,而 Intelephense 不知道如何处理该扩展并且未能显示任何代码完成,即使扩展已正确安装在 php.ini 文件中,并且工作正常。
为了清楚起见,一些屏幕截图:
- Code where Imagick is used
- Bash 输出显示 imagick 扩展安装在 php.ini:
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
- Bash 显示扩展所在位置的输出:
ddruganov@MBP-Demid:~$ mdfind imagick.so
/usr/local/lib/php/pecl/20190902/imagick.so
结果是 intelephense 没有被配置为知道这个扩展是什么。
解决方法很简单:
- 转到 VSCode 中的 Intelephense 扩展设置
- 转到名为 'Intelephense: Stubs' 的设置
- 添加一个名为 'imagick' 的新项目
- 保存并关闭设置(虽然我相信它们已保存
自动) - 完成
完成所有这些后,Intelephense 会显示有关 Imagick 的所有信息,并且自动完成工作正常:proof
希望这对某人有所帮助!