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)
沒有留言:
張貼留言