Неопределенный тип Imagick в интеллекте VSCode
У меня возникла проблема, когда я установил Imagick через Pecl, а Intelephense не знал, что делать с этим расширением, и не смог показать завершение кода, даже если расширение было правильно установлено в файле php.ini и работало нормально.
Некоторые снимки экрана для ясности:
1. Код, в котором используется Imagick.
2. Вывод 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
1 ответ
Решение
Оказывается, intelephense просто не был настроен, чтобы знать, что это за расширение.
Решение очень простое:
- Перейдите в настройки расширения Intelephense в VSCode
- Перейдите в настройку под названием "Intelephense: Stubs"
- Добавьте новый элемент с именем "imagick"
- Сохраните и закройте настройки (хотя я считаю, что они сохраняются
автоматически) - Выполнено
После того, как все это будет сделано, Intelephense показывает всю информацию об Imagick, и автозаполнение отлично работает: доказательство
Надеюсь, это кому-то поможет!