2022/03/21

[PHP] 如何在 VS Code 使用 php-cs-fixer 自動修正 coding style 格式

markdown 因應 [PSR-12: Extended Coding Style](https://www.php-fig.org/psr/psr-12/),讓 VS Code 來幫忙自動修正程式碼風格 ### 環境 - PHP 8.0.15 - Composer 2.2.6 - friendsofphp/php-cs-fixer v3.6.0 ### php-cs-fixer Composer 全域安裝 ``` composer global require friendsofphp/php-cs-fixer ``` 其他安裝方式: [PHP-CS-Fixer 安裝文件](https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/doc/installation.rst) ### VSCode 套件 以前使用 `junstyle.php-cs-fixer` 的套件, 但是設定項目蠻多的, 相對繁索 現在換 `mansoorkhan96.php-cs-fixer` 套件, 幾乎可以是零設定 指定程式碼樣式規則, 變更成 `@PSR12` 即可 ``` "php-cs-fixer.rules": "@PSR12", ``` 建立規則檔 `.php-cs-fixer.php` 在 VS Code 設定指定 `php-cs-fixer.config` 的檔案路徑 例如: ``` // mac, linux "php-cs-fixer.config": "/full/config/file/path" // windows "php-cs-fixer.config": "C:\\Users\\username\\.vscode\\.php-cs-fixer.php" ``` `.php-cs-fixer.php` 範例
此套件也收錄在 [PHP Productive Pack](https://marketplace.visualstudio.com/items?itemName=onecentlin.php-productive-pack) 中 詳細設定可以參考 [List of Avaliable Rules](https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/doc/rules/index.rst) ### References - [VSCode extension: PHP CS Fixer](https://marketplace.visualstudio.com/items?itemName=mansoorkhan96.php-cs-fixer) - [PSR-12: Extended Coding Style](https://www.php-fig.org/psr/psr-12/) - [PSR-12:增修程式碼風格指南](https://github.com/memochou1993/PSR/blob/master/PSR-12.md)

沒有留言: