1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VScodeとUnityを連携する

Posted at

はじめに

unityの環境は刻々と変わるので、この通りに進めてもうまく行かないかもしれません。
知識0で書いたため、言葉の定義がガバガバなのと、憶測で書いたところが入り混じっているので、間違っているところだらけだと思います。
分かりにくいところがあったり、間違っているところがあれば、是非コメントをください。

環境

ツール バージョン
Windows 10 Education 20H2
unity 2020.3.7.1f
VScode 1.56.2

前提条件

  1. VScodeはインストール済み
  2. Unityはインストール済み

やること

Unityスクリプトを書くにあたってVisual Studioの代わりにVScodeを使う。
コードを自動補完してくれるテキストエディタとして使いたい。
今回はVScodeをデバッグツールやコンパイラとしては使わない。

手順

  1. UnityからVScodeを指定
  2. .csprojectファイルと.slnファイルを再生成
  3. .NET SDKをインストール
  4. C#拡張アドオンの追加
  5. .Net frame work 4.7.1のインスコ

unity側 から VScodeを指定する

デフォルトではVisualStudioになっているんじゃないかな。
開くエディタを変えます。
Edit(編集) => Preference(環境設定) => external tools(外部ツール)
を開きましょう。

image.png

ここで、「外部のスクリプトエディタ」なるところで、VScodeの実行ファイルがあるパスを指定します。
VScodeがもし見つかっていなかったら、実行ファイルのパスを自分で指定する必要があります。
この時点で、Unityのエディタ上でスクリプトをダブルクリックするとVScodeが開くはずです。

.csprojectファイルと.slnファイルを再生成

恐らく、エディタをVScodeに変更した時に自動的にプロジェクトファイルは再生成されているはずですが...念のため。
Show In Explorer(エクスプローラーで表示)でファイルを開く。
image.png

こいつらを一回消す。
image.png

さっきと同じ画面で、「Regenerate project files」ボタンを押しましょう。
image.png

これをすることで、unityがVScodeを使えるように最適化されます。

ちなみに、.csprojファイルについて

.NET アプリは、MSBuild を使用してソース コードからビルドされます。 プロジェクト ファイル ( .csproj、 .fsproj、または .vbproj) により、ターゲットと、コードのコンパイル、パッキング、公開を行う関連 タスクが指定されます。

ここでいう、MSbuildとはアプリケーションをビルドするためのものですね
https://docs.microsoft.com/ja-jp/visualstudio/msbuild/msbuild?view=vs-2019

.NET SDKをインストール

この時点でUnity側から適当な.csファイルをクリックしてVScodeを開くと、おそらく.NET SDKをインストールしろと催促してきます。
それに従って、Installのボタンを押して、ページに飛びましょう。

出なかった場合は、以下がダウンロードサイトとなります
https://dotnet.microsoft.com/download/visual-studio-sdks

また、.NET SDKについては以下が参考になります。

.NET SDKとは、

.NET環境で動作するアプリケーションを開発するためのソフトウェア開発キット」

とありますね。
デバッグツールだけではなくて、クラスライブラリとかも含まれているようです。

image.png

自分のマシンに対応したSDKを入れてください。私の場合はPCが64bitマシンなので、x64 SDKを入れています。

アドオンのインストール

スニペットを自動的に登録してくれたり、文法の違い(セミコロンがないよ、とか)を指摘してくれる、C#アドオンをインストールします。
image.png

基本的にはこれを入れるだけで問題はないはず。その他のアドオンはお好みで。

.Net frame work 4.7.1のインスコ

さて、この時点でVScodeのターミナルウィンドウの出力において以下のように言われるかもしれません

.NETFramework,Version=v4.7.1 の参照アセンブリが見つかりませんでした。
この問題を解決するには、このフレームワーク バージョンの Developer Pack (SDK/Targeting Pack) をインストールするか、アプリケーションのターゲットを再設定してください。

ここで、参照アセンブリとは、

アセンブリのメタデータ(どういうクラスがあって、どういうメソッドを持っているか)を参照するためだけのアセンブリ

らしいです。
(これが.NET SDKに含まれてるアセンブリの場所を参照しているのでしょうか。よくわかってないです。)

さて、コンソールウィンドウで指示された文言の通りに、.Net frame work 4.7.1の.Net Developer Kit をいれましょう。

以下がダウンロードサイトになります。
https://dotnet.microsoft.com/download/dotnet-framework/net471

赤線で示しているとおり、今回はランタイムフレームワークが欲しいわけではないので.Net Developer Kitをクリックします。

image.png

この子が機能して、コード補完を働かせてくれるようになります。
また、しばらく更新まで時間がかかります。

ちょっと待てば、無事補完が効くようになります🎉

ここまででできない場合

参考サイト
http://tsubakit1.hateblo.jp/entry/2018/06/17/030129

.Net frame work 4.7.1の.Net Developer Kitを入れたとしても、いつまで経ってもVScodeでコード補完が効かないことがあるかもしれません。
既にVisualStudioをインストールしている場合は、VScode用に環境を構築しても、依存関係が解消されず何かしら悪さをされるのかもしれないです。その場合は、VisualStudio側で.Net Developer Kitと同様な機能を持つものをインストールすることで、自分は問題が解消しました。

まず、Visual studio Installer を開きます。
インストール済みのVisualStudioを選択し、変更のボタンをクリック。

そして、個別のコンポーネントに含まれている、以下のコンポーネントをインストールしてください。

.Net Frame Work 4.7.1 SDK
.Net Frame Work 4.7.1 Target Pack

image.png

つまり、VScodeではなく、visual studioを使って開発するときは、これらのコンポーネントをインストールする必要があるようです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?