PHPStorm中使用phpcs和php-cs-fixer進(jìn)行代碼格式化PSR-2

前言:良好的代碼規(guī)范可以提高代碼可讀性,減少團(tuán)隊(duì)溝通維護(hù)成本,所以本文嘗試PSR-2代碼規(guī)范進(jìn)行代碼格式化。

正文:

(1)使用環(huán)境:

????? ? ? ? ????????IDE:phpstorm2017.3.6

? ? ? ? ? ? ????????插件:phpcs和php-cs-fixer

(2)安裝phpcs

composer global require 'squizlabs/php_codesniffer=*'

(3)安裝php-cs-fixer

composer require friendsofphp/php-cs-fixer

注意:如果按照網(wǎng)上舊的教程,上面的命令會(huì)變成

composer global require fabpot/php-cs-fixer

fabpot/php-cs-fixer?這個(gè)包在Packagist上已經(jīng)被Abandon了,可以使用,但是在使用過(guò)程中會(huì)報(bào)Warning,并且提示讓你使用friendsofphp/php-cs-fixer,所以看到這篇文章的同志們可以直接安裝friendsofphp/php-cs-fixer

如果已經(jīng)安裝了fabpot/php-cs-fixer,有強(qiáng)迫癥想改成friendsofphp/php-cs-fixer,可以使用如下命令去掉composer依賴

composer remove fabpot/php-cs-fixer

(4)設(shè)置PHPStorm--phpcs

PhpStorm設(shè)置

● 步驟1:打開(kāi)PhpStorm點(diǎn)擊 File->Settings

● 步驟2:接著點(diǎn)擊Languages & Frameworks->PHP->Code Sniffer點(diǎn)擊Configuration右側(cè)的按鈕,

● 步驟3:選擇PHP Code Sniffer (phpcs) path:的路徑,就是剛才composer之后生成的那個(gè)phpcs.bat的路徑。

● 步驟4:選擇之后點(diǎn)擊Validate驗(yàn)證成功

● 步驟5:節(jié)點(diǎn)點(diǎn)擊Editor->Inspections展開(kāi)點(diǎn)擊右側(cè)的PHP

● 步驟6:勾選PHP Code Sniffer Validation 選擇右側(cè)的PSR2

● 步驟7:點(diǎn)擊驗(yàn)證成功 大功告成?。?/p>

效果:

(5)設(shè)置PHPStorm--php-cs-fixer

name和description可自行填寫(xiě)

program需要填寫(xiě)php-cs-fixer的可執(zhí)行文件地址,Windows上是用戶目錄\Roaming\Composer\composer\vendor\bin\php-cs-fixer.bat,linux和mac上是~/.composer/vendor/bin/php-cs-fixer

Arguments/parameters填--rules=@Symfony --verbose fix "$FileDir$/$FileName$",其中rules字段具體可以查看 php-cs-fixer 的官方文檔,但是由于 Windows 的 cmd 有諸多限制,所以只能傳入一些簡(jiǎn)單的規(guī)則,如果需要配置復(fù)雜規(guī)則建議使用配置文件來(lái)完成。

working directory填$ProjectFileDir$

插件配置好以后,到Keymap中設(shè)置一個(gè)快捷鍵,就可以使用了

使用效果如下圖

由于我開(kāi)啟了Xdebug,這邊會(huì)有Warning,意思是會(huì)影響效率,可以忽略,至此,PHPStorm中成功使用phpcs和php-cs-fixer進(jìn)行代碼格式化PSR-2

本文參考了:

1.PHPStorm中使用php-cs-fixer進(jìn)行自動(dòng)代碼格式化

2.PhpStorm PSR-2使用指南

3.PhpStorm集成PSR2代碼自動(dòng)檢查

4.Package fabpot/php-cs-fixer is abandoned message in Magento 2

5.ATOM基礎(chǔ)教程一php-cs-fixer配置(13)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Composer Repositories Composer源 Firegento - Magento模塊Comp...
    零一間閱讀 4,017評(píng)論 1 66
  • Awesome PHP 一個(gè)PHP資源列表,內(nèi)容包括:庫(kù)、框架、模板、安全、代碼分析、日志、第三方庫(kù)、配置工具、W...
    guanguans閱讀 6,115評(píng)論 0 47
  • 是什么 如果你知道yum、apt-get、npm、bower等命令中的一種或者多種,那么,你也能很快知道compo...
    旱魃一樣閱讀 3,343評(píng)論 0 9
  • PSR-2 具體內(nèi)容查看http://www.php-fig.org/psr/psr-2/ phpcs PHP C...
    zshanjun閱讀 5,618評(píng)論 0 3
  • 用余生來(lái)告訴你 我有多喜歡你。
    娃娃vava閱讀 477評(píng)論 0 1

友情鏈接更多精彩內(nèi)容