.NET コンパイラープラットフォーム(Roslyn)アナライザー
JetBrains Rider は、サポートされているすべての言語で 2500 コードインスペクションを提供しますが、これだけでは足りない場合は、さらに .NET コンパイラー プラットフォーム(Roslyn)アナライザーも利用できます。
多くのチームが独自のアナライザーを作成して、構築するフレームワークに追加のツールを提供しているため、これらのアナライザーは、特定のフレームワークをより深く理解するためのコード分析に役立つ場合があります。 たとえば、xUnit 固有の Fact メソッドにパラメーターがないことを確認するなどに役立つ xUnit.net の人々は、Roslyn ベースのアナライザーのセットを持っています(英語)。
Roslyn アナライザーのサポートはデフォルトで有効になっています。 ページは JetBrains Rider 設定 Ctrl+Alt+S で無効化や構成ができます。
Roslyn アナライザーサポートが有効化されている場合、Rider はインストール済みの Roslyn アナライザーをスキャンし、検出されたアナライザーのすべてのコードインスペクションを設定ページに表示します。ここで、JetBrains Rider ネイティブインスペクションと同様に 重要度レベルを変更できます。
Roslyn アナライザーをインストールするには、2 つの方法があります。
目的のアナライザーが NuGet パッケージとして提供されている場合、JetBrains Rider の NuGet クライアントを使って検索とインストールができます。
例: MicroSoft Roslyn アナライザー(英語)は、 Microsoft.CodeAnalysis.NetAnalyzers(英語) NuGet パッケージで追加できます。
<Analyzer Include="path\to\analyzers.dll">を追加することにより、プロジェクトの .csproj ファイルでアナライザーの .dll を参照できます。
クイックフィックスや ソリューション全体の分析を含むすべてのコードインスペクション機能は、外部アナライザーからのインスペクションにも利用できます。
外部アナライザーは、プロジェクトビルドの一部として実行することもできます。 アナライザーのデフォルトの重大度が警告またはエラーの場合、ビルド出力に対応する問題が表示されます。
次に、 DisableDateTimeNow アナライザー(英語)を .NET Core Web アプリケーションにインストールして使用する例を示します。 DisableDateTimeNow は、 DateTime.Now の使用箇所を見つけ出し、 DateTime.UtcNow で置き換えることを提案する簡単なアナライザーです。
