困った時の自分用メモ

読んだ本を考察してメモったり、自分でいじった物の感想をメモったりする場。週1更新を目指します。

Unity、C#の話~構文解析、Roslynを使う1~

コードレビューをする際に、レビュー項目にコーディング規約に則した記述をしているかどうかという物がある。
チェック自体は行った方が保守性が高まり良いとは思うが、人の手で行うとかなり煩わしく、量もあるので時間もかかる。

ルールがあり確認作業も単調なので、どうにか機械的に行う事は出来ないかと調べていたら、C#にはRoslynという構文解析に使えるAPIが備わっているようだったので、試してみた。

今回は、Unityへの導入編。

qiita.com



1.パッケージのインストール

Window→PackegaManagerで、左上の+ボタンを押して、
com.unity.code-analysis
を入力してAdd。

CodeAnalysisが追加される。

2.asmdefの追加
これだけだと、実際に関数を使おうとした際に

「Assets\Editor\SyntaxWalker.cs(9,30): error CS0234: The type or namespace name 'CSharp' does not exist in the namespace 'Microsoft.CodeAnalysis' (are you missing an assembly reference?)」

こんな感じのエラーが発生する。

右クリ→Create→Assembly Definition

Nameは、Code-Analysis.Editorにしないと、エラーが解消されないかも。
残りは、画像の通りに設定。

これで、エラーが出なくなり使えるようになる。