Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Коли я вперше перейшов з PHPStorm на VS Code, чесно кажучи, відчував себе ніби без рук. Звик до автодоповнення, швидкої навігації по проекту, докладних підказок — і раптом все це зникло. Але після кількох днів налаштування плагінів я зрозумів: VS Code може бути таким же потужним інструментом для PHP-розробки, якщо правильно його «прокачати» – встановити PHP плагіни VS Code. У цій статті я поділюся саме тими розширеннями, які щодня використовую в роботі, і розповім, чому вони дійсно варті вашої уваги.
Перш ніж перейти до конкретних плагінів, варто розібратися, чому взагалі варто розглядати Visual Studio Code для роботи з PHP. Адже є ж PHPStorm — потужна IDE, створена спеціально для PHP. Та й NetBeans ніхто не скасовував.
VS Code виграє в трьох ключових моментах: він безкоштовний, надзвичайно швидкий і невибагливий до ресурсів. На моєму MacBook Air він запускається за лічені секунди, тоді як PHPStorm міг «думати» добрих півхвилини. Плюс екосистема розширень — тисячі плагінів на будь-який смак, багато з яких підтримуються спільнотою і регулярно оновлюються.
Звісно, «з коробки» VS Code пропонує базові можливості для PHP: підсвічування синтаксису, автодоповнення дужок та вбудований лінтер. Але справжня магія починається, коли ви встановлюєте правильні розширення. Саме вони перетворюють простий текстовий редактор на повноцінне середовище розробки.
Якби мені дозволили встановити лише одне розширення для PHP, я без вагань обрав би Intelephense. Це не просто плагін — це повноцінний language server, який кардинально змінює роботу з кодом.


Intelephense — це високопродуктивний, кросплатформний PHP language server, який відповідає протоколу Language Server Protocol (LSP). Що це означає на практиці? Розумне автодоповнення, яке реально розуміє ваш код. Миттєву навігацію між класами, методами, інтерфейсами. Рефакторинг одним натисканням.
$user->, Intelephense миттєво показує всі доступні властивості та методи об’єкта.Intelephense має дві версії: базову (повністю безкоштовну) і преміум. Безкоштовна версія Intelephense досить функціональна, але преміум версія додає розширені можливості, такі як індексування приватних файлів, розпізнавання типів та кілька інших фішок для просунутих користувачів.
Чесно кажучи, я користувався безкоштовною версією майже рік, поки не зіткнувся з проектом, де треба було працювати з великою кількістю залежностей. Тоді й вирішив купити ліцензію (вона разова, на все життя — приємний бонус). Але якщо ви тільки починаєте або працюєте з невеликими проектами, безкоштовної версії буде більш ніж достатньо.
Встановити Intelephense — справа двох хвилин. Відкриваєте Extensions (Cmd+Shift+X або Ctrl+Shift+X), шукаєте “PHP Intelephense”, натискаєте Install. Але є одна важлива деталь: щоб уникнути конфліктів, варто вимкнути вбудовану базову підтримку PHP у VS Code.
Відкриваєте Settings (Cmd+, або Ctrl+,), шукаєте “php.suggest.basic” і знімаєте галочку. Це відключить стандартне автодоповнення VS Code на користь Intelephense. Інакше ви побачите дублі в підказках, що дратує.
// settings.json
{
"php.suggest.basic": false,
"intelephense.files.maxSize": 5000000
}Code language: JSON / JSON with Comments (json)Параметр intelephense.files.maxSize збільшує ліміт на розмір файлів для індексування — корисно, якщо працюєте з великими vendor-папками.
Плюси:
Мінуси:
Посилання: Intelephense на VS Code Marketplace
Писати код без дебагера — це як водити машину з зав’язаними очима. Теоретично можливо, але навіщо таке собі влаштовувати? PHP Debug + Xdebug — це комбо, яке дозволяє ставити breakpoint’и, крокувати по коду, дивитися значення змінних у реальному часі.
Налагодження PHP з XDebug підтримується через розширення PHP Debug, яке інтегрується безпосередньо у VS Code. Після встановлення розширення найскладніша частина — правильно налаштувати Xdebug на вашому сервері або в локальному середовищі.
Якщо ви користуєтесь XAMPP, MAMP або Laragon, Xdebug часто вже встановлений. Потрібно лише його увімкнути в php.ini:
; Для Xdebug 3.x (актуальна версія у 2025)
zend_extension=xdebug
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port=9003Зверніть увагу: у Xdebug 3 змінилася логіка конфігурації. Якщо знайдете старі туторіали з параметрами типу xdebug.remote_enable — вони застарілі. У 2025 році використовуємо xdebug.mode.
Після зміни конфігурації перезапустіть веб-сервер. Щоб перевірити, чи працює Xdebug, створіть файл з phpinfo(); і шукайте секцію “xdebug” в output.
У VS Code треба створити файл .vscode/launch.json у корені проекту:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceFolder}"
}
}
]
}Code language: JSON / JSON with Comments (json)Параметр pathMappings особливо важливий, якщо ви працюєте з Docker або віддаленим сервером. Він показує, як шляхи на сервері співвідносяться з локальними шляхами у вашому проекті.
Процес дебагінгу інтуїтивний: клікаєте ліворуч від номера рядка — з’являється червона точка (breakpoint). Натискаєте F5 або йдете в меню Run → Start Debugging. Відкриваєте сторінку в браузері — виконання зупиниться на вашому breakpoint’і. Тепер можете переглядати значення змінних, виконувати код крок за кроком (F10 для step over, F11 для step into).


Особливо зручна панель Debug Console — тут можна виконувати PHP-код на льоту, перевіряти значення змінних, викликати функції. Це як інтерактивна консоль прямо в момент виконання програми.
Плюси:
Мінуси:
Посилання: PHP Debug на VS Code Marketplace
Поки Intelephense — це суто language server, PHP Tools від DEVSENSE — це комплексне рішення, яке намагається перетворити VS Code на повноцінний аналог PHPStorm. PHP Tools пропонує багато корисних інструментів для PHP, включаючи швидке автодоповнення коду, форматування, code lenses та інші функції, які роблять розробку комфортнішою.
Особливість PHP Tools — це річна підписка (на відміну від разового платежу Intelephense). Для когось це мінус, для когось — плюс, бо гарантує регулярні оновлення.
use statement на початок файлу. Дрібниця, але економить час.Чесна рекомендація: спробуйте обидва і виберіть той, що підходить вашим потребам. Варто зауважити, що PHP Tools має річну підписку, тоді як PHP Intelephense пропонує пожиттєву ліцензію.
З мого досвіду: Intelephense краще підходить для мінімалістів, які хочуть швидкий і легкий редактор. PHP Tools — для тих, хто звик до комфорту PHPStorm і хоче максимум можливостей в одному пакеті. Якщо ви працюєте з Laravel, обидва розширення чудово підтримують фреймворк, але PHP Tools має трохи кращу інтеграцію з Blade-шаблонами.
Важливий момент: Intelephense працює з коробки, тоді як деякі альтернативи потребують додаткового налаштування. PHP Tools теж встановлюється легко, але для всіх функцій потрібна активація ліцензії.
Плюси:
Мінуси:
Посилання: PHP Tools на VS Code Marketplace
Писати документацію — не найулюбленіше заняття більшості розробників. Але якщо у вас є PHP DocBlocker, процес стає майже автоматичним. Це розширення генерує DocBlock коментарі одним натисканням клавіші.
Як це працює? Ставите курсор над функцією або методом, пишете /** і натискаєте Enter. PHP DocBlocker автоматично аналізує сигнатуру функції і створює шаблон документації з усіма параметрами, типами повернення, навіть з плейсхолдерами для описів.
/**
* [getUserById description]
* @param int $id [description]
* @param bool $active [description]
* @return User|null [description]
*/
public function getUserById(int $id, bool $active = true): ?User
{
// ваш код
}Code language: PHP (php)Залишається тільки заповнити описи — і готово. Це особливо корисно в командній розробці, де хороша документація критично важлива для розуміння коду колегами.
PHP DocBlocker можна кастомізувати під свій стиль. Наприклад, можна змінити формат дати, автора за замовчуванням, шаблони для різних типів елементів:
// settings.json
{
"php-docblocker.author": {
"name": "Ваше Ім'я",
"email": "your.email@example.com"
},
"php-docblocker.returnVoid": false,
"php-docblocker.useShortNames": true
}Code language: JSON / JSON with Comments (json)Параметр returnVoid контролює, чи додавати @return void для функцій без повернення значення. Особисто я вимикаю цю опцію — в PHP 8+ це очевидно з типізації.
Плюси:
Мінуси:
Посилання: PHP DocBlocker на VS Code Marketplace
Якщо ви працюєте з PSR-4 автозавантаженням і безліччю класів у різних namespace’ах, PHP Namespace Resolver стане вашим кращим другом. Це розширення автоматично додає, сортує та видаляє use statements.
Уявіть ситуацію: ви пишете контролер і використовуєте 15 різних класів — моделі, сервіси, request-и, event-и. Раніше доводилося згадувати повний namespace кожного класу і вручну додавати use на початок файлу. З PHP Namespace Resolver процес виглядає так: пишете назву класу, натискаєте Cmd+Alt+I (або Ctrl+Alt+I на Windows) — розширення знаходить клас і додає імпорт автоматично.
use statements алфавітно і групує за namespace’амиОсобливо корисна функція — автоматичне видалення невикористовуваних імпортів. У процесі рефакторингу часто залишаються «мертві» use statements, які захаращують код. PHP Namespace Resolver може почистити їх одним натисканням.
Плюси:
Мінуси:
Посилання: PHP Namespace Resolver на VS Code Marketplace
Коли працюєш у команді, стандарти оформлення коду — не примха, а необхідність. PHP CS Fixer автоматично форматує ваш PHP-код згідно зі стандартами PSR-1, PSR-2, PSR-12 або вашими власними правилами.
Розширення інтегрується з бібліотекою PHP-CS-Fixer, яку треба встановити окремо через Composer:
composer require --dev friendsofphp/php-cs-fixerCode language: JavaScript (javascript)Після встановлення створіть файл .php-cs-fixer.php у корені проекту з правилами форматування:
<?php
$finder = PhpCsFixer\Finder::create()
->in(__DIR__)
->exclude('vendor');
return (new PhpCsFixer\Config())
->setRules([
'@PSR12' => true,
'array_syntax' => ['syntax' => 'short'],
'ordered_imports' => ['sort_algorithm' => 'alpha'],
'no_unused_imports' => true,
'not_operator_with_successor_space' => true,
'trailing_comma_in_multiline' => true,
'phpdoc_scalar' => true,
'unary_operator_spaces' => true,
'binary_operator_spaces' => true,
'blank_line_before_statement' => [
'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'],
],
'phpdoc_single_line_var_spacing' => true,
'phpdoc_var_without_name' => true,
])
->setFinder($finder);Code language: HTML, XML (xml)Найзручніший спосіб використання — увімкнути автоматичне форматування при збереженні файлу. У settings.json додайте:
{
"php-cs-fixer.executablePath": "${workspaceFolder}/vendor/bin/php-cs-fixer",
"php-cs-fixer.onsave": true,
"php-cs-fixer.rules": "@PSR12",
"php-cs-fixer.config": ".php-cs-fixer.php"
}Code language: JSON / JSON with Comments (json)Тепер кожного разу, коли ви натискаєте Cmd+S, код автоматично приводиться до стандартів. Відступи, пробіли, розташування дужок — все стає єдиним стилем.
Плюси:
Мінуси:
Посилання: PHP CS Fixer на VS Code Marketplace
Якщо ви пишете юніт-тести (а я сподіваюся, що так!), PHPUnit Test Explorer зробить цей процес набагато комфортнішим. Розширення показує всі ваші тести в окремій панелі, дозволяє запускати їх одним кліком і навіть підсвічує покриття коду.


Особливо зручно те, що можна запускати окремі тести або цілі групи. Побачили червоний тест? Клікаєте на нього правою кнопкою → Run Test — і одразу бачите результат. Не треба йти в термінал і вручну запускати php artisan test --filter.
Для Laravel-проектів конфігурація трохи відрізняється від звичайного PHPUnit:
// settings.json
{
"phpunit.php": "/usr/local/bin/php",
"phpunit.phpunit": "${workspaceFolder}/vendor/bin/phpunit",
"phpunit.args": [
"-c",
"${workspaceFolder}/phpunit.xml"
]
}Code language: JSON / JSON with Comments (json)Якщо використовуєте Sail або Docker, шлях до PHP і PHPUnit буде відрізнятися. Наприклад:
{
"phpunit.command": "./vendor/bin/sail php artisan test"
}Code language: JSON / JSON with Comments (json)Плюси:
Мінуси:
Посилання: PHPUnit Test Explorer на VS Code Marketplace
Better PHPUnit — це альтернатива Test Explorer з трохи іншим підходом. Замість окремої панелі це розширення додає команди в палітру (Cmd+Shift+P) для швидкого запуску тестів.
Основні команди:
Я особисто використовую обидва розширення: Test Explorer для загального огляду та Better PHPUnit для швидких тестових прогонів у процесі розробки. Вони не конфліктують між собою.
Плюси:
Мінуси:
Посилання: Better PHPUnit на VS Code Marketplace
Окрім основних плагінів, є ще кілька розширень, які роблять роботу з PHP комфортнішою:
Якщо працюєте з Laravel або будь-яким фреймворком, що використовує .env файли, це розширення додасть підсвічування синтаксису та автодоповнення для змінних оточення. Дрібниця, але приємно, коли DB_HOST=localhost виглядає структуровано, а не як одноманітний текст.
Автоматична генерація getter’ів та setter’ів для властивостей класу. Виділяєте приватну властивість, викликаєте команду — розширення створює методи доступу. Якщо дотримуєтесь принципів ООП і інкапсуляції, заощадите купу часу.
Швидке створення конструкторів з присвоєнням властивостей. Особливо корисно в PHP 8+ з promoted properties. Одна команда — і бойлерплейт код готовий.
Якщо ви Laravel-розробник, це must-have. Розширення додає автодоповнення для routes, views, configs, validation rules, blade directives. Працює на основі аналізу вашого проекту — бачить всі роути, які ви оголосили, всі view, які створили.
Для тих, хто активно працює з Laravel, рекомендую також ознайомитися з топовими інструментами для Laravel-розробника, де детальніше розписані спеціалізовані рішення для фреймворку.
Тут важливо не перестаратися. VS Code залишається швидким саме завдяки мінімалізму. Якщо встановити 50 розширень, редактор перетвориться на монстра, що споживає всю оперативну пам’ять.
Мій особистий набір для щоденної роботи виглядає так:
Цього набору цілком достатньо для професійної роботи. Якщо відчуваєте, що VS Code почав гальмувати — відкрийте Extensions, подивіться, які розширення активні, і вимкніть ті, що не використовуєте.
Часто виникає питання: чи варто взагалі морочитися з налаштуванням VS Code, коли є готові рішення типу PHPStorm? Давайте чесно порівняємо.
VS Code з плагінами vs PHPStorm:
Якщо ви новачок або працюєте на слабшому комп’ютері, VS Code буде кращим вибором. Якщо ж бюджет дозволяє і ви хочете максимум зручності з коробки — PHPStorm теж чудовий варіант. Детальніше про різні IDE можна прочитати в статті про безкоштовні IDE для PHP.
Щоб VS Code залишався швидким навіть з купою плагінів, дотримуйтесь кількох простих правил:
files.exclude та search.exclude:{
"files.exclude": {
"**/vendor": true,
"**/node_modules": true,
"**/.git": true
},
"search.exclude": {
"**/vendor": true,
"**/node_modules": true
}
}Code language: JSON / JSON with Comments (json).vscode/settings.json у кожному проекті.VS Code з правильним набором плагінів може бути таким же потужним інструментом для PHP-розробки, як і спеціалізовані IDE. Ключ до успіху — не встановлювати все підряд, а вибрати саме ті розширення, які реально потрібні вашому workflow.
Почніть з базового набору: Intelephense для автодоповнення, PHP Debug для дебагінгу, PHP DocBlocker для документації. Поступово додавайте інші плагіни в міру необхідності. Експериментуйте з налаштуваннями, адаптуйте під свій стиль роботи.
Найголовніше — пам’ятайте, що інструменти — це лише інструменти. Навіть найкращий редактор не зробить з вас кращого розробника, якщо ви не розумієте принципів роботи PHP, не знаєте паттернів проектування, не пишете тести. Але правильно налаштований VS Code точно зробить вашу роботу приємнішою і продуктивнішою.
Вдалої розробки! Якщо у вас є питання або власний досвід використання PHP-плагінів для VS Code — діліться в коментарях. Завжди цікаво дізнатися про нові інструменти та підходи до налаштування робочого середовища.