點燈坊

學而時習之,不亦悅乎

如何在 Visual Studio 使用 SonarLint ?

Sam Xiao's Avatar 2019-05-19

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 好習慣