讓 SonarQube 即時在 Visual Studio 內檢查

SonarQube 除了搭配 Jenkins 檢查程式碼品質外,還可以在 IDE 中使用 SonarLint,讓 developer 在程式開發階段就及早發現可能的 bugs、vulenrability、code smell 與 duplication,本文將介紹 SonarLint + Visual Studio。

Version


Windows 10 Pro 1709 16299.371
SonarQube 6.7.2 LTS
Visual Studio Enterprise 2017 15.6.6
SonarLint 3.10.0.3095
C# 7.2
.NET Framework 4.6.1

安裝 SonarLint


sonarlint000

Tools -> Extensions and Update…

sonarlint001

  1. 選擇 Online

  2. 輸入 SonarLint

  3. 選擇 SonarLint for Visual Studio 下載

sonarlint002

  1. 關閉 Visual Studio 後,按 Modify 安裝 SonarLint for Visual Studio

sonarlint003

安裝完第一次進入 Visual Studio 後

  1. SonarLint 即將下載其他語言的 scanner,如 JavaScript,將 Don't show this message again 打勾
  2. Yes 繼續

連接 SonarQube Server


sonarlint004

先開啟 solution。

Analyze -> Manage SonarQube Connections…

sonarlint005

  1. Connect... 連接 SonarQube server

sonarlint006

  1. 輸入 SonarQube server 網址
  2. Login / Password 填預設的 admin/admin

sonarlint007

連上 SonarQube server 後,會出現目前 server 上所有的 project,選擇你要綁定的專案。

綁定後會從 server 下載 profile 與 rule 到本機

sonarlint008

與 SonarQube 綁定後,在 solution 下會出現 SonarQube

Automatic Analysis


sonarlint009

SonarQube 檢查出 IPadAir.cs 有 code smell,class 不該使用 I 開頭。

sonarlint010

SonarLint 能在 Visual Studio 內即時的檢查出目前檔案的 issue。

sonarlint011

點擊左側的小燈泡,SonarLint 會解釋該 rule 檢查的理由。

Manual Analysis


sonarlint012

SonarLint 亦可手動檢查整個 solution。

  1. 點擊 solution 右鍵,選 Analyze -> Run Code Analysis on Solution

sonarlint013

SonarLint 會將所有檢查到的 issue 顯示在下方。

Conclusion


  • 有了 SonarLint,developer 就能更即時的獲得 SonarQube 的建議,養成寫出 clean code 的好習慣