はじめに
プロジェクトで使用するUnityを2020.3に上げてBannedApiAnalyzersを使えるようになったので以下の記事の内容を試してみた。
いくつかハマりポイントがあって手間取ったのでメモ。
環境
- Unity 2020.3.16f1
- Rider 2021.2.1
ハマりポイント
asmdef使ってるとちょっと面倒
【Unity】CsprojModifier と BannedApiAnalyzers を使用して、特定の関数が使われていたら警告を表示線してみる https://t.co/dEauef4OsI
— su10@ハイパーカジュアルゲーム開発 (@su10_dev) September 25, 2021
これasmdefでcsprojが分かれてるとC# Project Modifierの設定からcsprojをポチポチ足す必要があった。
asmdef多いプロジェクトだとちょっと面倒そう。
参考:
警告じゃなくてエラーにしたい
https://t.co/M88IJpPdC5
— su10@ハイパーカジュアルゲーム開発 (@su10_dev) September 25, 2021
これ見て.editorconfigで設定できそうなことがわかって、https://t.co/6VtFAXDCgn
これ見てRS0030で指定できそうだったから.editorconfigに
dotnet_diagnostic.RS0030.severity = error
って書いてみたらエラーにできた🎉 pic.twitter.com/GRBD3ZYBbM
.editorconfig
に以下を足す。
[*.cs]
dotnet_diagnostic.RS0030.severity = error
もしくは
- Visual Studio
UnityエディタおよびVisual Studioの場合、ルールセットファイルを使用します。設定方法は公式マニュアルの Roslyn analyzers and ruleset files を参照してください。
- Rider
Riderの場合は、Preferences... を開き、Editor | Inspection Settings | Roslyn Analyzersの中で設定できます。
引用元:Unityプロジェクト向けRoslynアナライザの作りかた(DeNA Testing Blog)
参考:
個別で設定したい
BannedApiAnalyzers: Change warning severity case by case #3846https://t.co/zNGkeVmpMf
— su10@ハイパーカジュアルゲーム開発 (@su10_dev) September 25, 2021
項目ごとに警告とかエラーとか細かく設定できないかなーと思ったけど、現状はできないっぽい。
現状は無理っぽい。
不明点
Rider上では警告・エラーが出るようになったけどUnityエディタ上では出せないんだろうか?🤔