Как писать на php в visual studio code
Перейти к содержимому

Как писать на php в visual studio code

  • автор:

PHP in Visual Studio Code

Visual Studio Code is a great editor for PHP development. You get features like syntax highlighting and bracket matching, IntelliSense (code completion), and snippets out of the box and you can add more functionality through community-created VS Code extensions.

Linting

VS Code uses the official PHP linter ( php -l ) for PHP language diagnostics. This allows VS Code to stay current with PHP linter improvements.

Tip: Using XAMPP? Install the full version of PHP in order to obtain the development libraries.

There are three settings to control the PHP linter:

  • php.validate.enable : controls whether to enable PHP linting at all. Enabled by default.
  • php.validate.executablePath : points to the PHP executable on disk. Set this if the PHP executable is not on the system path.
  • php.validate.run : controls whether the validation is triggered on save (value: «onSave» ) or on type (value: «onType» ). Default is on save.

To change the PHP settings, open your User or Workspace Settings ( ⌘, (Windows, Linux Ctrl+, ) ) and type ‘php’ to filter the list of available settings.

show PHP settings

To set the PHP executable path, select the Edit in settings.json link under PHP > Validate: Executable Path, which will open your user settings.json file. Add the php.validate.executablePath setting with the path to your PHP installation:

Windows

 "php.validate.executablePath": "c:/php/php.exe" > 

Linux and macOS

 "php.validate.executablePath": "/usr/bin/php" > or  "php.validate.executablePath": "/usr/local/bin/php" > 

Snippets

Visual Studio Code includes a set of common snippets for PHP. To access these, hit ⌃Space (Windows, Linux Ctrl+Space ) to get a context-specific list.

PHP Snippets

PHP extensions

There are many PHP language extensions available on the VS Code Marketplace and more are being created. You can search for PHP extensions from within VS Code in the Extensions view ( ⇧⌘X (Windows, Linux Ctrl+Shift+X ) ) then filter the extensions dropdown list by typing ‘php’.

Searching for PHP in the Extensions view

Disable built-in PHP support

To disable the built-in PHP smart completions in favor of suggestions from an installed PHP extension, uncheck PHP > Suggest: Basic, which sets php.suggest.basic to false in your settings.json file.

Debugging

PHP debugging with XDebug is supported through a PHP Debug extension. Follow the extension’s instructions for configuring XDebug to work with VS Code.

Next steps

Read on to find out about:

  • Extension Marketplace — Browse the extensions others have shared
  • Debugging — Learn more about VS Code debugging

Как настроить VS Code для разработки на PHP

Vscode

Так может выглядеть интерфейс редактора после установки расширений

  • Основные возможности
  • EditorConfig for VS Code
  • PHP Intelephense
  • PHP Debug
  • PHP Sniffer
  • Semicolon Insertion Shortcut
  • Extra

Основные возможности

  • отладчик кода
  • встроенный терминал
  • удобные инструменты для работы с Git
  • подсветка синтаксиса для множества популярных языков и файловых форматов
  • удобная навигация
  • встроенный предпросмотр Markdown
  • умное автодополнение
  • встроенный пакетный менеджер

VS Code имеет большое количество расширений для разработчика. Для установки нового пакета зайдите во вкладку «Extensions», введите название пакета в строке поиска, нажмите кнопку «Install».

extension list

EditorConfig for VS Code

EditorConfig — это конфигурационный файл и набор расширений к большому количеству редакторов кода. Он подхватывает настройки из файла .editorconfig , который, как правило, размещается в корне проекта. Расширение автоматически настроит отступы и перевод строк единообразно для всех разработчиков, использующих его. PHP код чаще всего выполняется на *nix системах, поэтому необходимо использовать стандарт.

Ниже приводится пример файла .editorconfig , который используется в Laravel:

root = true # Глобальные настройки, которые будут записаны для всех файлов. [*] charset = utf-8 # На Unix системах используется lf для перевода строки. # Это также требование стандарта PSR. end_of_line = lf insert_final_newline = true indent_style = space indent_size = 4 trim_trailing_whitespace = true # Можно задать индивидуальные настройки как для типов файлов, # так и отдельных файлов по имени. [*.md] trim_trailing_whitespace = false [*. ] indent_size = 2 [ ] indent_style = space indent_size = 2 [lib/**.js] indent_style = space indent_size = 2 

PHP Intelephense

В редакторе уже есть поддержка синтаксиса и подсказок стандартных функций языка. Но без специального дополнения редактор не будет подсказывать пользовательские функции из других частей проекта. Поэтому для поддержки автодополнения, анализа кода, перехода к месту, где создана функция/класс/переменная (с помощью шортката Alt+Click ), используется дополнение PHP Intelephense

Чтобы подсказки не дублировались необходимо отключить встроенную в редактор поддержку кода для PHP: Extensions -> Search @builtin php -> PHP Language Features -> Disable

PHP Debug

При разработке может возникнуть ситуация, когда простых функций отладки и логирования становится недостаточно. Тогда может помочь специальный инструмент — Дебаггер. Для PHP есть расширение xdebug, которое позволяет расставить точки останова и посмотреть окружение в предполагаемом месте ошибки, выполняя код поэтапно либо до следующей точки.

Чтобы воспользоваться PHP Debug, необходимо установить сам XDebug, без него расширение для редактора работать не будет. Установив расширение, необходимо добавить конфигурацию для PHP в разделе Debug . После выбора языка в корне проекта будет создан файл .vscode/launch.json с задачами для Дебаггера. Расширение создаст файл со стандартными параметрами.

Для того, чтобы XDebug общался с нашим дебаггером, необходимо добавить настройки в файл конфигурации php. Чтобы найти этот файл выполните в терминале команду php —ini или запустите веб-сервер с кодом phpinfo() .

В Linux PHP подгружает не только основной файл, но и файл из этой директории. Например, на Ubuntu путь к директории конфигурационных файлов для PHP может быть таким — /etc/php/7.3/cli/conf.d/ . В ней создаём файл с необходимыми правами (требуются root права):

$ sudo touch /etc/php/7.3/cli/conf.d/99-local.ini $ sudo chmod 777 /etc/php/7.3/cli/conf.d/99-local.ini 
xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 ; Порт, который мы указали в launch.json xdebug.idekey=code xdebug.remote_autostart=1 

Это настройки для локальной разработки, когда проект разрабатывается и запускается на одном компьютере, например на вашей рабочей машине

PHP Sniffer

В языках программирования есть понятие стиль кодирования. Но не все разработчики знают об этом. Программа, которая отвечает за проверку на соответствие стандартам, называется линтер. В PHP приняты стандарты под названием PSR. Нас интересуют стандарты PSR-1 и PSR-12. Именно эти два стандарта касаются кодирования и правил оформления.

В PHP в качестве линтера используется PHP_CodeSniffer. Для его работы необходимо установить глобально сам линтер composer global require «squizlabs/php_codesniffer=*» и расширение PHP Sniffer.

Проверьте, что линтер установился:

$ phpcs --version PHP_CodeSniffer version 3.4.2 (stable ) by Squiz (https://www.squiz.net ) 

Выполнить проверку кода в терминале можно с помощью команды phpcs , явно указав стандарт, который мы хотим использовать, и путь для проверки:

$ phpcs --standard =PSR12 dirname > 

vscode-phpcs

Semicolon Insertion Shortcut

PHP требует разделять инструкции с помощью точки запятой. Расширение Semicolon Insertion Shortcut добавляет необходимый символ в конец строки с помощью шортката. Если при нажатии [Ctrl] + ; символ не вставляется, то необходимо проверить список горячих клавиш и при необходимости назначить комбинацию вручную: File -> Preferences -> Keyboard Shortcuts

semicolon-shortcut

Extra

Список расширений, которые могут быть использованы не только для PHP:

  • GitLens — в VS Code уже встроена поддержка Git. Но когда базовых возможностей становится недостаточно, на помощь может придти Gitlens. Например, одна из полезных фич — git blame на текущей строке.

gitlens

  • Indent Rainbow — разноцветные отступы в коде. Подсвечивает некорректный отступ. Можно вместо радуги установить оттенки серого.

rainbow

  • Settings Sync — плагин, позволяющий синхронизировать настройки редактора между разными компьютерами. В качестве облачного хранилища используется Github Gists. Все настройки можно скачать, указав нужный файл синхронизации.
  • Fira Code — моноширинный шрифт, в котором используются лигатуры (объединяет несколько символов в один) для общих комбинаций символов в программировании. Визуальная надстройка для более удобного чтения кода.

Настройка редактора Visual Studio Code для разработки на PHP

Пора перейти от слов к действиям и познакомиться с Visual Studio Code поближе. В этом посте представлена поэтапная настройка VS Code для разработки на PHP.

  1. Скачать и установить Visual Studio Code.
  2. Настройть статистический анализ кода на PHP в параметрах пользователя.
  3. Скачать и установить расширение PHP Debug с портала Visual Studio Marketplace.
  4. Настройть расширение PHP Debug для использования XDebug.
Скачайте и установите Visual Studio Code
  • Бесплатный: да, VS Code полностью бесплатен, никаких приписок мелким шрифтом.
  • Кроссплатформенный: доступны версии VS Code для Windows, Linux и OS X.
  • Легковесный: VS Code, в отличие от Visual Studio, — не полнофункциональная среда IDE, а редактор кода. Он поддерживает ряд мощных функций, характерных для IDE, например, IntelliSense, отладку и интеграцию с системой управления исходным кодом Git.

После загрузки установите редактор на своем компьютере. Подробные инструкции по установке доступны здесь. Теперь можно открыть окно командной строки, запустить Visual Studio Code и начать редактировать файлы в папке.

image

Если вы откроете файл с расширением .php, Code поймет, что это файл на языке PHP. Тип файла можно изменить и вручную: щелкните кнопку Language Mode в правом нижнем углу окна редактора или последовательно нажмите клавиши Ctrl+K и M.

image

Встроенные функции работы с PHP

VS Code поддерживает множество языков, в том числе PHP. На портале Visual Studio Marketplace доступны расширения VS Code, обеспечивающие поддержку дополнительных языков. Для PHP работает подсветка синтаксиса, определение парных скобок и фрагменты кода.

Когда вы начнете набирать код в файле PHP, то заметите автоматическое срабатывание цветового выделения синтаксиса, определения парных скобок и функции IntelliSense.

image

Настройка статического анализа PHP

По умолчанию VS Code будет проводить статический анализ кода на PHP в ходе проверки при сохранении файла. Для этого используется исполняемый файл php. Если вы работаете с VS Code впервые, то получите сообщение об ошибке, в котором сказано, что исполняемый PHP файл не обнаружен.

image

Необходимо указать путь к исполняемому файлу PHP на вашем компьютере. Для этого следует изменить файл настроек (в VS Code существуют различные уровни файлов настроек, подробнее см. в документации). В нашем примере мы настроим параметры PHP глобально для пользователя.

Откройте пользовательские настройки с помощью панели команд: нажмите F1, введите «user» и нажмите Enter.

image

Откроется два документа JSON. В документе слева содержатся настройки по умолчанию, в документе справа — пользовательские настройки. В пользовательских настройках можно переопределить настройки по умолчанию. Чтобы включить статический анализ кода PHP, необходимо изменить значения трех параметров.

image

Чтобы настроить путь к исполняемому файлу PHP, укажите его в файле пользовательских настроек:

image

После этого функция проверки будет включена для всех файлов PHP. Некорректный код PHP будет подчеркнут красным (в примере ниже пропущена точка с запятой).

image

Настройка отладки

Расширение PHP Debug (спасибо Феликсу Беккеру!) добавляет в VS Code поддержку отладчика XDebug. Установите расширение через панель команд VS Code: нажмите F1, введите «install ext», нажмите Enter, введите «PHP Debug» и вновь нажмите Enter. После установки расширения может потребоваться перезапуск VS Code.

image

Обратите внимание: это расширение использует отладчик XDebug. Поэтому для его работы необходимо установить XDebug. Скачать XDebug можно здесь (для Windows выбирайте 32-разрядную non-thread-safe версию).
Затем внесите в файл php.ini следующие настройки. Я установил XDebug в подкаталог ext установочной папки PHP. Если вы выбрали для XDebug другой каталог установки, убедитесь, что параметр zend_extension содержит правильное значение.

image

Убедитесь, что корневой раздел веб-сервера соответствует вашему проекту. Тогда при каждом запросе файла PHP XDebug будет предпринимать попытку подключения к порту 9000 для отладки.
Чтобы начать отладку, откройте вкладку Debugging в VS Code.

image

Щелкните значок шестеренки, чтобы сформировать файл launch.json, который позволит VS Code начать сеанс отладки XDebug.

image

Чтобы начать отладку, нажмите F5 или щелкните зеленую стрелку на вкладке Debugging. Чтобы задать точку останова в исходном коде, выберите строку и нажмите F9.

image

Теперь, когда вы откроете определенную веб-страницу, VS Code остановит выполнение исходного кода в заданной точке. В области слева отобразится информация о переменных, стеке вызовов и т. п.

image

Заключение

Visual Studio Code обладает отличной встроенной поддержкой PHP, а расширение PHP Debug добавляет возможность отладки кода на PHP. Все эти инструменты являются бесплатными и кроссплатформенными.

На портале Visual Studio Marketplace доступны и другие расширения для работы с PHP.

Полезные ссылки
  • Visual Studio 2015: бесплатные предложения для разработчиков
  • Дополнительные и бесплатные инструменты и службы в программе Visual Studio Dev Essentials
  • Лабораторные работы по разработке, тестированию и управлению жизненым циклом ПО для Visual Studio 2015
  • visual studio
  • visual studio code
  • php
  • веб-разработка

Migrate from VS Code

In this section, you’ll find some tips on how to migrate from VS Code to PhpStorm.

If you’re looking for an overview of the features PhpStorm offers, check out this video:

Configure shortcuts

If you’ve never used PhpStorm or other JetBrains IDEs before, getting used to new shortcuts can be challenging. Here are a few tips that can help you with that.

Switch to the VS Code keymap

If you aren’t ready to say goodbye to VS Code shortcuts just yet, you can switch to the VS Code keymap. To do so, go to Settings | Keymap , set VSCode or VSCode (macOS) as your default keymap, and save the changes.

For PhpStorm 2022.1 and older, you need to install the VS Code keymap. Go to Preferences / Settings | Plugins and look for VS Code there.

Installing the VS Code keymap plugin

Once you’ve installed the keymap, you can go to Settings | Keymap and set it as the default one.

Set the VS Code keymap as default

Learn PhpStorm shortcuts

Learning PhpStorm shortcuts will come in handy even if you decide to switch to another JetBrains IDE later on – the shortcuts are the same in almost all of them. Here’s what can help you learn them faster:

  • Memorize PhpStorm’s most universal shortcut – double Shift or Search Everywhere . You can use it to find any file, action, class, or symbol, and see all the matches in one place.
  • Install Key Promoter X – this extension helps you learn essential shortcuts while working. When you use the mouse on a button inside the IDE, Key Promoter X shows you the shortcut you could have used instead.
  • Use the PhpStorm shortcut cheat sheet – You can download the default PhpStorm keymap reference and print it out as a card.

Set up your work environment

One of the key differences between PhpStorm and VS Code is that you don’t need to install extensions to make PhpStorm powerful. Just about everything is already there.

Customize PhpStorm

You can customize almost any aspect of the PhpStorm UI and turn off anything you don’t need. You can find some tips on how to customize PhpStorm in this video:

Install extensions

In JetBrains IDEs, we refer to extensions as plugins . They work pretty much the same way extensions do in VS Code, allowing you to extend the built-in functionality and customize your IDE. To explore the available plugins, go to the Marketplace tab under Settings | Plugins .

Here’s what PhpStorm looks like with the popular CodeGlance Pro plugin installed.

You can find more plugins at JetBrains Marketplace.

Framework support

PhpStorm has extended support for many projects of the diverse PHP ecosystem, including WordPress, Joomla!, Symfony, Laravel, and more.

For more advanced support and extra features, you can check out framework-specific plugins from the community:

  • Symfony Support plugin ( freemium )
  • Laravel Idea plugin ( paid )
  • Magento plugin ( free )

Change the UI theme

Please note that not all custom themes are fully compatible with the new UI. For the best experience with these themes, we recommend using the old UI. You can change the UI in Settings | Appearance & Behavior | New UI .

PhpStorm comes with only a few predefined themes, but there’s a variety of custom options to choose from. To explore them, go to Settings | Plugins and search for theme in the Marketplace tab.

Visual Studio Code Dark Plus Theme plugin

You can then go back to the editor and check what the themes you’ve installed look like. Select View | Quick Switch Scheme from the main menu or press Control+` and select Theme . From there, you’ll be able to preview the available themes all in one go:

Replicate common VS Code workflows

Let’s see how you can set up a few things to work like they do in VS Code.

Open or create projects

One of the first things that you’ll notice once you download and install PhpStorm is that you need a project to get started.

To start with your first project, choose one of these options:

  • Open – Just open any folder on your machine, and PhpStorm will do the rest for you.
  • New Project – Create an empty project or generate a project from an existing template or composer package like you would do with the composer create-project command.
  • Get from VCS – Get an existing project from a version control system like Git or GitHub.

Once you’ve opened a project, you can start coding right away.

Welcome screen

Command Palette

Search Everywhere is your replacement for VS Code’s Command Palette . You can use it to find any file, action, class, or symbol, and see all matches in one place. Open it by double-pressing Shift – we usually abbreviate this as the Shift + Shift shortcut.

Search and replace

Although PhpStorm’s search and replace workflow is slightly different from the one in VS Code, the principles are the same. PhpStorm lets you find and replace text strings within both specific files and entire projects.

To get started, select Edit | Find from the main menu, then choose either Find to search only through the current file or Find in Files to search across the entire project. To replace a text string, select Replace or Replace in Files under the same submenu instead.

Customize PhpStorm: search and replace

Change the defaults for the Project view

PhpStorm has its own Explorer , the Project view, and it works a bit differently. For instance, you need to double-click a file to open it in the editor. Here’s how you can change the default setup to match what you were used to in VS Code:

You can go to the Project view settings and select any or all of these options:

  • Open Files with Single Click – Open files in the editor with one click.
  • Always Select Opened File – Auto-select the file that’s currently open in the Project view.
  • Enable Preview Tab – Preview files you have selected in the Project view in the editor.

Set up a PHP Interpreter

In order to get the most out of PhpStorm for PHP projects, it makes sense to set PHP interpreter settings. This be your local PHP from the system, MAMP/XAMP, Laravel Valet, DDEV, Docker, and so on.

You can add PHP interpreters under Preferences/Settings | PHP . Learn more about configuring PHP development environments in Configure local PHP interpreters.

Set up a PHP Interpreter

How to get support

You can check out community forum to find answers to many common questions and ask other PhpStorm users for help.

Also, you can always get in touch with our support team if you get stuck. To submit a new ticket, select Help | Contact Support from PhpStorm’s main menu. To report a bug or ask for a new feature, create a new issue here.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *