在 PhpStorm 中設定 WSL 裡的 phpcs

在 PhpStorm 中設定 WSL 裡的 phpcs

更新於 發佈於 閱讀時間約 4 分鐘
本文同步刊載於筆者個人網站:https://hhming.moe/post/phpstorm-wsl-configure-phpcs/

最近因為$$的關係,換去了新的工作。不過不幸的是新的工作大家都用 Windows + WSL 開發,不像我之前可以直接原生 Linux 用爽爽。往好處想,至少不是都用 Mac,這個大概會讓我直接往生,除非逼不得已不然不會選的。

不過也因為這樣,發現 Windows 11 的 WSL 進步好多,現在有 systemd 了,不像以前只能 call service 來看程序;也不用再跑設定才能讓 port 映射出來。不知道 Windows 10 的是否也有跟上,如果有的話就太好了。可是可以的話,到時還是直接 Framework 裝 Ubuntu 比較乾脆。

回到正題,在歡欣之餘,也碰到一些問題,最麻煩的就是今天主角──PhpStrom 中的 PHP_Codesniffer。

問題

PhpStrom 都幫你整合好了,只是設定個 PHP_Codesniffer 能有什麼問題?

在 Ubuntu 上我的確沒遇到問題,可是現在新工作後就碰到了奇怪的問題:

raw-image

先看上方這張圖,可以看到我已經設定好 PHP CLI interpeter 是 WSL 中直接安裝(非 Docker)的 PHP,版本是 8.3。

有沒有發現在 coding standard 的選單那邊有一個錯誤提示?PhpStorm 告訴我他無法找到其他 coding style 設定集。

好,接著看一下直譯器的設定:

raw-image

選好 composer 全域安裝的 phpcs 後按下 validate,嗯……Can not run PHP_Codesniffer?

在來回操作了幾次後都沒辦法成功,想說算了先不管他,回去編輯程式碼。欸,會動啊?走 PSR2,而且如果在 PhpStorm 設定關閉 PHP_Codesniffer 也真的就不會提示了,代表明明就能執行,是在唬爛我?

原本還想過說用 PhpStorm 中的 external tool 功能,可是發現有點難用,還要自己手動點就放棄了,整合度比不上有毛毛蟲在程式碼底下的 Quality tool。

解決

中間其實過了快兩週XD最後我真的受不了了決定再多試幾次,真的不行就直接放棄,關閉 PhpStrom 中的 PHP_Codesniffer 改去 Coding Style 設定就好(只是這樣好像不會每個規則都跳提示)

在我來回嘗試各種方法的時候,突然想到曾經在 StackOverflow 上看過有人說,不要用 PhpStorm 檔案選取器自動填入 \\wsl 開頭的,改成一般 Linux 使用的斜線路徑。於是我把 PhpStrom 中的 PHP_Codesniffer path 設定改成:

/home/username/.config/composer/vendor/squizlabs/php_codesniffer/bin/phpcs

結果:

raw-image

老天鵝真的能動了!趕快來去看看外層設定(如果沒變就關閉設定再打開就會重讀):

raw-image

謝天謝地,現在總算能放手開發,不用再擔心不小心寫出 failure style 了(雖然寫久就會知道,不過多個工具檢查總是有益無害)。

為了避免自己之後忘記,特地寫一篇當成筆記,或許未來有需要的人可以搜到這篇並順利解決。

avatar-img
hms5232的沙龍
4會員
21內容數
留言
avatar-img
留言分享你的想法!
hms5232的沙龍 的其他內容
相信應該不少人都有魔法小卡,也很懂得怎麼簽帳消費,不過拿到手上無數張的簽單,你有想過上面的資訊代表什麼意思嗎?
本文分享作者從 Gandi 網域名稱註冊商轉移到 Porkbun 的過程與經驗探討。作者因為 Gandi 續約價格上漲,尋找更具性價比的選擇,最後發現 Porkbun 提供了更優惠的價格和服務。文章詳細描述了轉移過程中的步驟、技巧及感想,希望能為有需要的讀者提供實用的參考。
用更少的能源發揮一樣的效能,真香!換換病壓不住了,在物色好主機板和記憶體後,等到通路一有貨就直接下單了。不過當時的我並不知道,後面還有很多事情在等著我……
在辦理信用卡的時候,除了重要的回饋外,最需要注意的應該就是年費了。在申請卡片之前,都會確認免年費門檻,所以基本上沒有碰到需要「談心」的情況,不過百密一疏還是在這次帳單上看到年費,開啟了人生第一次談心經歷。
最近換換病發作,想說把原本24吋螢幕換一個大一點的,解析度也升級一下,最後選上標題這台。使用了快一週,來一點心得分享吧
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。
相信應該不少人都有魔法小卡,也很懂得怎麼簽帳消費,不過拿到手上無數張的簽單,你有想過上面的資訊代表什麼意思嗎?
本文分享作者從 Gandi 網域名稱註冊商轉移到 Porkbun 的過程與經驗探討。作者因為 Gandi 續約價格上漲,尋找更具性價比的選擇,最後發現 Porkbun 提供了更優惠的價格和服務。文章詳細描述了轉移過程中的步驟、技巧及感想,希望能為有需要的讀者提供實用的參考。
用更少的能源發揮一樣的效能,真香!換換病壓不住了,在物色好主機板和記憶體後,等到通路一有貨就直接下單了。不過當時的我並不知道,後面還有很多事情在等著我……
在辦理信用卡的時候,除了重要的回饋外,最需要注意的應該就是年費了。在申請卡片之前,都會確認免年費門檻,所以基本上沒有碰到需要「談心」的情況,不過百密一疏還是在這次帳單上看到年費,開啟了人生第一次談心經歷。
最近換換病發作,想說把原本24吋螢幕換一個大一點的,解析度也升級一下,最後選上標題這台。使用了快一週,來一點心得分享吧
最近在找資料的時候,偶然發現了兩個有趣的 git 指令:git commit --fixup 和 git rebase -i <sha> --autosquash。 研究了下發現對於像我這種每次 commit 都要斤斤計較,盡可能完美的人來說非常好用,因此寫一篇筆記記錄一下用法。