Visual Studio Code: Difference between revisions
From Joomla! Documentation
No edit summary |
mNo edit summary |
||
| Line 16: | Line 16: | ||
* '''PHP Getters & Setters''' [https://marketplace.visualstudio.com/items?itemName=phproberto.vscode-php-getters-setters phproberto.vscode-php-getters-setters]. Create PHP getters and setters from class properties. | * '''PHP Getters & Setters''' [https://marketplace.visualstudio.com/items?itemName=phproberto.vscode-php-getters-setters phproberto.vscode-php-getters-setters]. Create PHP getters and setters from class properties. | ||
== | == PHP Debug Configuration == | ||
The extension supports the most common configurations of PHP [https://xdebug.org/ XDebug]. It fully integrates all VSCode features to debug PHP scripts. | The extension supports the most common configurations of PHP [https://xdebug.org/ XDebug]. It fully integrates all VSCode features to debug PHP scripts. | ||
| Line 59: | Line 59: | ||
</source> | </source> | ||
== Configuration | == phpcs Configuration == | ||
To configure the extension, visit the official documentation here: https://marketplace.visualstudio.com/items?itemName=ikappas.phpcs | To configure the extension, visit the official documentation here: https://marketplace.visualstudio.com/items?itemName=ikappas.phpcs | ||
| Line 91: | Line 91: | ||
</source> | </source> | ||
== Configuration | == PHPUnit Configuration == | ||
To configure the extension, visit the official documentation here: https://github.com/elonmallin/vscode-phpunit#setup | To configure the extension, visit the official documentation here: https://github.com/elonmallin/vscode-phpunit#setup | ||
| Line 111: | Line 111: | ||
</source> | </source> | ||
== | == php cs fixer Configuration (Only for PSR2) == | ||
To configure the extension, visit the official documentation here: https://github.com/junstyle/vscode-php-cs-fixer#installation | To configure the extension, visit the official documentation here: https://github.com/junstyle/vscode-php-cs-fixer#installation | ||
| Line 126: | Line 126: | ||
</source> | </source> | ||
== | == PHP Phan (Analyzer) Configuration == | ||
To configure the extension, visit the official documentation here: https://marketplace.visualstudio.com/items?itemName=TysonAndre.php-phan | To configure the extension, visit the official documentation here: https://marketplace.visualstudio.com/items?itemName=TysonAndre.php-phan | ||
| Line 139: | Line 139: | ||
</source> | </source> | ||
== Configuration | == phpmd Configuration == | ||
To configure the extension, visit the official documentation here: https://github.com/felixfbecker/vscode-php-debug#installation | To configure the extension, visit the official documentation here: https://github.com/felixfbecker/vscode-php-debug#installation | ||
Revision as of 08:58, 11 April 2020
Visual Studio Code is a source code editor developed by Microsoft for Windows, Linux and macOS. It includes support for debugging, embedded Git control and GitHub, syntax highlighting, intelligent code completion, snippets, and code refactoring.
The main characteristic of the editor is that it is extensible and it has a huge collection of extensions maintained by users. The Extensions for the Visual Studio family of products can be found here: https://marketplace.visualstudio.com/VSCode.
In this page, we detail a list of recommended extensions to configure VSCode to support PHP and Joomla:
- PHP Debug felixfbecker.php-debug. Debug support for PHP with XDebug.
- phpcs ikappas.phpcs. PHP CodeSniffer for Visual Studio Code.
- PHP Intelephense bmewburn.vscode-intelephense-client. PHP code intelligence for Visual Studio Code.
- PHPUnit emallin.phpunit. Run PHPUnit tests from VSCode.
- php cs fixer junstyle.php-cs-fixer: In case of opting for the PSR-2: Coding Style Guide). PHP CS Fixer extension for VS Code, php formatter, php code beautify tool, format html.
- PHP Phan (Analyzer) tysonandre.php-phan. Phan - static analyzer for PHP, minimizing false positives.
- phpmd linyang95.phpmd. VS Code extension for php, using phpmd.
- Joomla Snippets anibalsanchez.vs-code-joomla-snippets. Snippets for Joomla. Including Joomla 3.x and Joomla 4 Snippets.
- PHP Getters & Setters phproberto.vscode-php-getters-setters. Create PHP getters and setters from class properties.
PHP Debug Configuration
The extension supports the most common configurations of PHP XDebug. It fully integrates all VSCode features to debug PHP scripts.
To configure the extension, visit the official documentation here: https://github.com/felixfbecker/vscode-php-debug#installation
As a sample configuration for VSCode debugging, this is a common launch.json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
// Server Remote XDebug Port
"port": 9099,
// Server Remote Path -> Local Project Path
"pathMappings": {
"/app/www": "${workspaceRoot}/www"
}
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
// Local XDebug Port
"port": 9099
}
]
}
phpcs Configuration
To configure the extension, visit the official documentation here: https://marketplace.visualstudio.com/items?itemName=ikappas.phpcs
The extension supports the most common configurations of PHP_CodeSniffer.
By default, PHP_CodeSniffer comes with several coding standards. Once the extension is installed, it works with PSR2.
"phpcs.standard": "PSR2",
To configure the extension to apply the Joomla! Coding Standards, install the rules following the official guide: https://developer.joomla.org/coding-standards/html.html
Once the Joomla! Coding Standards is installed, configure the User Settings following this sample configuration:
"phpcs.standard": "/home/YOUR-USER/.../Joomla",
Configuration of PHP Intelephense
To configure the extension, visit the official documentation here: https://github.com/bmewburn/vscode-intelephense#quick-start
The extension does not require additional configuration.
VSCode comes with basic support of the PHP language. So, it is probably a good idea to disable the default support to avoid conflicts:
"php.suggest.basic": false,
PHPUnit Configuration
To configure the extension, visit the official documentation here: https://github.com/elonmallin/vscode-phpunit#setup
The extension integrates PHP Unit with VSCode, so all features of PHP Unit are integrated with VSCode and can also be parametrized for further integration with the user interface.
This is a sample configuration of the extension:
"phpunit.preferRunClassTestOverQuickPickWindow": true,
"phpunit.driverPriority": [
"Path",
"Command",
"Composer",
"Phar",
"Ssh",
"GlobalPhpUnit"
],
php cs fixer Configuration (Only for PSR2)
To configure the extension, visit the official documentation here: https://github.com/junstyle/vscode-php-cs-fixer#installation
The extension integrates PHP-CS-Fixer with VSCode, so all features of PHP-CS-Fixer are integrated with VSCode and can also be parametrized for further integration with the user interface.
To automatically, apply PHP-CS-Fixer to PHP files, configure the user settings in this way:
"[php]": {
"editor.defaultFormatter": "junstyle.php-cs-fixer",
},
"php-cs-fixer.onsave": true,
PHP Phan (Analyzer) Configuration
To configure the extension, visit the official documentation here: https://marketplace.visualstudio.com/items?itemName=TysonAndre.php-phan
This is a sample configuration of the extension:
"phan.phpExecutablePath": "/usr/bin/php",
"phan.analyzedFileExtensions": [
"php"
],
phpmd Configuration
To configure the extension, visit the official documentation here: https://github.com/felixfbecker/vscode-php-debug#installation
The extension does not require additional configuration.
This is a sample configuration of the extension:
"phpmd.command": "php /home/YOUR-USER/.../phpmd/phpmd.phar",
"phpmd.rules": "/home/YOUR-USER/.../phpmd-rulesets/phpmd_config.xml",