unityでいってみよう!

unityがチョットワカル位の人のブログ

Microsoft.Unity.Analyzersを使ってみよう! Unity Editor編

はじめに

前回はVisual Stuio CodeでのMicrosoft.Unity.Analyzerの使い方を説明しましたが、Unity2020.2からUnity Editor上でRoslyn Analyzerが使用出来るようになりました。

docs.unity3d.com

これはIDEに依存せず、UnityEditor上でAnalayzerを利用出来るようなったことを意味します。 ※Unity2020.2以前のUnityをお使いの場合、この方法は使用できませんので、ご注意下さい。

セットアップ

基本的には前回と同じです。

Microsoft.Unity.Analyzers.dllを入手する。

  • GitHubリポジトリからダウンロードしてビルド
  • NuGetからパッケージを抜き出してdllを抜き出す

のいずれかでDLLを入手します。入手方法の詳細に関してはこちらに記載がありますのでそちらをご確認下さい。

DLLをプロジェクトへ配置する

Microsoft.Unity.Analyzers.dllをAseets/NuGetフォルダに配置します。 この時、大量のエラーが発生するのでInspectorからSelect platforms for pluginの設定をすべて解除して下さい。

f:id:kimukats:20210603133447p:plain

ここが前回になかった重要なポイントなのですが、 DLLのAssetLabelにRoslynAnalyzerを追加してください。 AssetLabelにRoslynAnalyzerが追加されたdllはcsprojでAnalyzerとしてマークされます。

f:id:kimukats:20210603172007g:plain

AssetLabelにRoslynAnalyzerを追加する前

... 省略 ...
  <ItemGroup>
    <None Include="Assets\NuGet\Microsoft.Unity.Analyzers.dll" />
  </ItemGroup>
... 省略 ...

AssetLabelにRoslynAnalyzerを追加した後

... 省略 ...
  <ItemGroup>
    <Analyzer Include="Assets\NuGet\Microsoft.Unity.Analyzers.dll" />
  </ItemGroup>
... 省略 ...

結果

consoleにMicrosoft.Unity.Analyzersによる警告が表示されていることが確認出来ます。

f:id:kimukats:20210603172810p:plain

設定自体もVisual Studio Codeを利用する場合と異なり、余計なファイルを作成する必要がない為、楽だと思います。 Unity2020.2以降であれば、Unity Editor上で、それ以前のUnityを使用している場合は、Visual Studio Code上でAnalyzerを使用するのが良いかと思います。 なお、前回のVisual Stuido Code編でdllをAssets/NuGetへ配置した理由はVisual Studio CodeとUnity Editor両方で使用出来るようにする為です。

以上です。