2016-03-01 23 views
0

我有MsBuild C#插件並與SonarQube一起運行,但我還想匹配子字符串單詞,如「TODO」或「FIXME」。SonarQube C#與額外的正則表達式匹配

我找不到在C#插件中配置此方法的方法,但我找到了一個名爲text-plugin的插件,但是如何配置SonarQube在源代碼上運行這兩個插件?

我在文本插件中配置了單行正則表達式,並將其映射到所有帶**/*的字段類型,但它不會運行,如果我將文本插件與.cs關聯,SonarQube跑步者不能確定語言。

回答

0

我會採取的路徑是爲C#開發一個自定義Roslyn分析器,它將檢測不良評論模式。有很多在線資源可用於開始撰寫Roslyn分析器。

您可以看看如何使用TODO和FIXME分析器implemented in SonarAnalyzer for C#瞭解如何編寫處理評論的分析器。

一旦你有自己定製的Roslyn分析儀,使用the SonarQube Roslyn SDK to make it available in SonarQube

這也將使您能夠輕鬆添加更多自定義C#規則,而不受text-plugin可以做什麼的限制。

+0

但是,如果我寫我自己的分析器,它不會取代原來的C#插件嗎?我真的想要這些結果,但真的只是想添加額外的正則表達式檢查。 – Fredrik

+0

不會被替換@Fredrik - SonarQube Roslyn SDK使您可以在SonarQube中現有的規則之上添加更多規則。您需要爲您自己的Roslyn分析器**和C#插件.jar文件部署生成的.jar文件到您的SonarQube服務器 –

+0

順便說一句自定義Roslyn分析器的另一個優點是您的開發人員也將能夠在Visual Studio 2015中啓用您的規則,而不僅僅是在SonarQube –