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)上舊的教程,上面的命令會變成

composer global require fabpot/php-cs-fixer

fabpot/php-cs-fixer?這個(gè)包在Packagist上已經(jīng)被Abandon了钝凶,可以使用仪芒,但是在使用過程中會報(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:打開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展開點(diǎn)擊右側(cè)的PHP

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

● 步驟7:點(diǎn)擊驗(yàn)證成功 大功告成J染鳌猾警!

效果:

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

name和description可自行填寫

program需要填寫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 有諸多限制,所以只能傳入一些簡單的規(guī)則穴墅,如果需要配置復(fù)雜規(guī)則建議使用配置文件來完成惶室。

working directory填$ProjectFileDir$

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

使用效果如下圖

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

本文參考了:

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

2.PhpStorm PSR-2使用指南

3.PhpStorm集成PSR2代碼自動檢查

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)容合作請聯(lián)系作者
  • 序言:七十年代末惩坑,一起剝皮案震驚了整個(gè)濱河市掉盅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌以舒,老刑警劉巖趾痘,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蔓钟,居然都是意外死亡永票,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門滥沫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侣集,“玉大人,你說我怎么就攤上這事兰绣∈婪郑” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵缀辩,是天一觀的道長臭埋。 經(jīng)常有香客問我,道長臀玄,這世上最難降的妖魔是什么瓢阴? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮健无,結(jié)果婚禮上炫掐,老公的妹妹穿的比我還像新娘。我一直安慰自己睬涧,他們只是感情好募胃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布旗唁。 她就那樣靜靜地躺著,像睡著了一般痹束。 火紅的嫁衣襯著肌膚如雪检疫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天祷嘶,我揣著相機(jī)與錄音屎媳,去河邊找鬼。 笑死论巍,一個(gè)胖子當(dāng)著我的面吹牛烛谊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嘉汰,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼丹禀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鞋怀?” 一聲冷哼從身側(cè)響起双泪,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎密似,沒想到半個(gè)月后焙矛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡残腌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年村斟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片抛猫。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蟆盹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出邑滨,到底是詐尸還是另有隱情,我是刑警寧澤钱反,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布掖看,位于F島的核電站,受9級特大地震影響面哥,放射性物質(zhì)發(fā)生泄漏哎壳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一尚卫、第九天 我趴在偏房一處隱蔽的房頂上張望归榕。 院中可真熱鬧,春花似錦吱涉、人聲如沸刹泄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽特石。三九已至盅蝗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間姆蘸,已是汗流浹背墩莫。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留逞敷,地道東北人狂秦。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像推捐,于是被迫代替她去往敵國和親裂问。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Composer Repositories Composer源 Firegento - Magento模塊Comp...
    零一間閱讀 3,960評論 1 66
  • Awesome PHP 一個(gè)PHP資源列表玖姑,內(nèi)容包括:庫愕秫、框架、模板焰络、安全戴甩、代碼分析、日志闪彼、第三方庫甜孤、配置工具、W...
    guanguans閱讀 5,758評論 0 47
  • 是什么 如果你知道yum畏腕、apt-get缴川、npm、bower等命令中的一種或者多種描馅,那么把夸,你也能很快知道compo...
    旱魃一樣閱讀 3,129評論 0 9
  • PSR-2 具體內(nèi)容查看http://www.php-fig.org/psr/psr-2/ phpcs PHP C...
    zshanjun閱讀 5,570評論 0 3
  • 用余生來告訴你 我有多喜歡你。
    娃娃vava閱讀 442評論 0 1