如何在 PhpStorm 使用 SonarLint ?
讓 SonarQube 即時在 PhpStorm 內檢查
Contents
SonarQube 除了搭配 Jenkins 檢查程式碼品質外,還可以在 IDE 中使用 SonarLint,讓 developer 在程式開發階段就及早發現可能的 bugs、vulenrability、code smell 與 duplication,本文將介紹 SonarLint + PhpStorm。
Version
macOS High Sierra 10.13.4
SonarQube 6.7.2 LTS
PhpStorm 2018.1
SonarLint 3.3.0.2482
PHP 7.1.14
Laravel 5.6.17
安裝 SonarLint
- PhpStorm -> Preferences … -> Plugins
- 按
Browse repositories…
- 輸入
SonarLint
- 按
Install
安裝
- 下載完 SonarLint 後,按
Restart PhpStorm
General Setting
Settings
- PhpStorm -> Preferences -> Other Settings -> SonarLint General Settings
- 選擇
Settings
tab - 勾選
Automatically trigger analysis
,SonarLint 將會自動檢查目前的檔案 - 在
SonarQube servers
按+
新增 server
- 為設定取一個名字
- 輸入 SonarQube 的網址
- 按
Next
繼續
Authentication type
選擇Login / Password
- Login / Password 填預設的
admin/admin
- 按
Next
繼續
- 按
Finish
完成設定
- 按
Update binding
從 SonarQube server 更新 project list、profile、rule 到本機
File Exclusions
- 選擇
File Exclusions
tab,若每個專案都有特定的目錄不想被 SonarLint 檢查,可統一設定在此
Project Setting
Bind to SonarQube project
- PhpStorm -> Preferences -> Other Settings -> SonarLint Project Settings
- 選擇
Bind to SonarQube project
tab - 將
Enable binding to remote SonarQube server
打勾,如此本地專案將與 SonarQube server 端綁定 Bind to server
選擇剛剛建立的MySonarQube
SonarQube project
選擇欲綁定的SonarQube
專案
File Exclusion
- 選擇
File Exclusions
tab,若專案中有特定的目錄不想被 SonarLint 檢查,可設定在此 - 按
OK
儲存設定
Automatic Analysis
SonarQube 檢查出在 app/Console/Kernel.php
有 code smell,不該在程式碼有註解掉的 code,而應該直接刪除,由 Git 作版控。
SonarLint 能在 PhpStorm 內即時的檢查出目前檔案的 issue。
- 下方選擇
SonarLint
tab - 有問題的 code
- SonarLint 的錯誤訊息,與 SonarQube server 完全一樣,
- 解釋該 rule 檢查理由
Conclusion
- 有了 SonarLint,developer 就能更即時的獲得 SonarQube 的建議,養成寫出 clean code 的好習慣