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 Codeextensions.
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 threesettings 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 yourUser or Workspace Settings (⌘, (Windows, LinuxCtrl+,)) and type 'php' to filter the list of available settings.
To set the PHP executable path, select theEdit in settings.json link underPHP > Validate: Executable Path, which will open your usersettings.json
file. Add thephp.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, LinuxCtrl+Space) to get a context-specific list.
PHP extensions
There are many PHP language extensions available on theVS Code Marketplace and more are being created. You can search for PHP extensions from within VS Code in theExtensions view (⇧⌘X (Windows, LinuxCtrl+Shift+X)) then filter the extensions dropdown list by typing 'php'.
Disable built-in PHP support
To disable the built-in PHP smart completions in favor of suggestions from an installed PHP extension, uncheckPHP > Suggest: Basic, which setsphp.suggest.basic to false in yoursettings.json
file.
Debugging
PHP debugging withXDebug is supported through aPHP Debug extension. Follow the extension's instructions for configuringXDebug 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