【Unity】C#標準ライブラリのインテリセンスを日本語化する

Unity 使ってると C# の標準ライブラリのインテリセンスが無い?もしくは英語?で表示されます。

インテリセンス読めばだいたい使い方が想像できますがVS上で何も表示されない or 英語だけだと作業が微妙に止まったりするのでインテリセンスの表示を日本語化したいと思います。

確認環境

この記事は以下の環境で動作確認を行っています。

  • Windows10
  • VisualStudoo2019
  • Unity 2019.4.2f1

補足:

この記事の作業をすると C# の標準ライブラリ部分のみ日本語化できます。Unity が独自に提供する部分は英語のままとなるのでご了承ください。またあまり使わない型が英語のままの時がありますがこちらもご了承ください。

インテリセンスを日本語化する

(1) 前準備、環境の確認

まず、Unity の使用するDLLがどこにあるか確認します。

標準の環境であれば以下に配置されているはずです。

C:\Program Files\Unity\Hub\Editor\2019.4.2f1\Editor\Data\NetStandard\ref\2.0.0\

確認方法ですが、VisualStudioを立ち上げてstring型とかint型の型宣言の上でF12を押すと宣言元に飛べるのでそこで表示されるソースコードの冒頭を見ると以下の様な記述があるはずです。

#region アセンブリ netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// C:\Program Files\Unity\Hub\Editor\2019.4.2f1\Editor\Data\NetStandard\ref\2.0.0\netstandard.dll
#endregion

// 以下略

(2) 翻訳ファイルをダウンロードする

以下サイトから適当なバージョンの「.NET Core」の日本語に翻訳されたインテリセンスファイルをダウンロードします。

https://docs.microsoft.com/ja-jp/dotnet/core/install/localized-intellisense

注意:

MSDNはしょっちゅうURLが変更されリンク切れになるため上記が存在しない場合「'.NET Core' 'インテリセンス' '日本語'」などで検索してください。

.NET Core2.x の時はローカライズされたインテリセンスファイルがなかったと思うので 3.x を選択します(バージョン選択肢が色々あるかもしれませんがどれを選んでも同じなので適当でOKです)

多分問題ないという感じですが詳しくは「.NET Core 3.x」 は 「.NET Standart 2.1」と互換がります。一方 Unity 2019 の C# のランタイムバージョンは 「.NET Standard 2.0」のため最初から一致していませんが、まぁそうそうおかしいことにはならないので適当で大丈夫です。

で、上記から取得したファイルを解凍すると以下のように展開されると思います。

//ダウンロードしたファイルの中身
dotnet-intellisense-3.1-ja.zip/
  + dotnet-intellisense-3.1-ja/
    + dotnet-intellisense-3.1-ja/
      + Microsoft.NETCore.App.Ref/
      + Microsoft.WindowsDesktop.App.Ref/
      + NETStandard.Library.Ref/

(3) 翻訳ファイルを配置する

前述の解凍フォルダの中の「NETStandard.Library.Ref」の中身の「ja」フォルダを(1)で確認したフォルダ内にコピーします。

以下のように配置してください。

C:\Program Files\Unity\Hub\Editor\2019.4.2f1\Editor\Data\NetStandard\ref\2.0.0\ja\netstandard.xml

これでVsiaulStudioを再起動すれば標準ライブラリ部分は日本語化されます。