スクリプトに関して少し問題があります。私がメモ帳で作業しているように、Visual StudioでUnity用のC#スクリプトを書いているときは、自動補完(正しい?)がないので、ゆっくり書く必要があります。
ビデオを見てください。最初は通常の状況(チュートリアルから)ですが、2番目の部分は私の問題を示しています。
たとえば、 transform
クラスは、提案やオートコンプリートを表示しません。
問題のある画像:
ユニティバージョン:5.5.2f1
ビジュアルスタジオ2015
Unity用のVisual Studio Toolsがインストールされています
スクリプトには、プロジェクトの名前ではなく「Miscellaneous Files」と表示されるため、オートコンプリートはありません。あなたの質問のビデオから来た以下の画像を見てください:
「Miscellaneous Files」メッセージは、さまざまな理由で発生する可能性があります。
1。Unity C#ファイルをUnity Editorから開くのではなく、別のフォルダーから開くと発生する可能性があります。
2。これは、Visual Studioがまだ開いている間にUnityがクラッシュしたために発生し、そのため一部のファイルが破損する可能性があります。
。Unityが閉じられてから再度開かれたが、Visual Studioに接続されなくなったために発生する可能性があります。 Visual Studioを開くと、「Miscellaneous Files」が表示され、自動補完は行われません。
4。これは、Visual Studio Tools for unityがインストールされていない場合に発生する可能性があります。
5。Unityからスクリプトを作成し、Unityが処理を完了する前、または丸いアイコンのアニメーションがアニメーションを終了する前に、スクリプトをすばやく開きます。
ほとんどの場合、UnityとVisual Studioを再起動するとこれが修正されます。
どちらが問題を引き起こしているのかわかりませんが、これを解決するための最も可能性の高い解決策をカバーします。
パート1を修正:
1。Download and InstallVisual Studio Tools for unityfrom this link。 UnityとVisual Studioが両方とも閉じている間にこれを行います。
2。Unity Editorから、Editに移動します->Preferences... ->外部ツール。 External Script Editorドロップダウンメニューで、Visual Studio 2015に変更します。
修正2:
新しく作成されたC#ファイルがMiscellaneousとして表示される場合は、以下の手順に従ってください。
1。Visual StudioからTools->Options ...->Tools for Unity->その他。 接続アイコンの表示で、true
に設定し、Visual Studioを再起動します。
2。再起動すると、接続アイコンがVisual Studioで利用可能になります。それをクリックしてから、接続するUnityインスタンスを選択します。これで、赤い「x」アイコンが茶色のチェックマークアイコンに変わります。これで、Unityで新しいC#ファイルを作成すると、Miscellaneousと言わずに開くはずです。
修正:
まだ修正されていませんか?
プロジェクトを再インポートしてから、C#プロジェクトを開きます。
1。Visual Studioを閉じます。
2。Unityから、Assets->Reimportに移動してプロジェクトを再インポートします。すべて。
。今、Assets->に移動して、Visual Studioでプロジェクトを開きます。 C#プロジェクトを開きます。これにより、プロジェクトがリロードされ、ソリューションファイルの問題が修正されます。
修正4:
まだ修正されていませんか?
各C#ファイルを個別に修正します。
1。Show All Filesアイコンをクリックします。
2。オートコンプリートを実行しないスクリプトを選択し、右クリックしてInclude In Projectを選択します。
パート5を修正:
まだ修正されていませんか?
クレジットは chrisvarnz に送られますが、この特定のソリューションは複数の人で機能しているようです。
1。Visual Studioを閉じます
2。プロジェクトディレクトリに移動し、生成されたすべてのVisual Studioファイルを削除します。
削除するファイル拡張子は次のとおりです。
例:
プロジェクトの名前が "Target Shoot"と呼ばれているとしましょう。これらは、削除するファイルがどのように見えるかです:
他のものは削除しないでください。
。再度スクリプトをダブルクリックしますfrom Unity新しいVisual Studioファイルを生成し、Visual Studioを開きます。これで問題が解決する場合があります。
修正6:
動作しない場合は、 this エラーがあるかどうかを確認します。
「GetReferenceNearestTargetFrameworkTask」タスクが見つかりませんでした
1。InstallNuget PackageManagerfrom here .
2。Visual Visualを再起動します。
詳細については、 this answerを参照してください。
私はもっと便利な方法でこの問題を解決する別の方法を見つけました:
これはUnityとVisual Studioの間の同期をどうにかして殺すでしょう。
次回Visual Studioがプロジェクトをリロードするときには、警告が表示されます。 「破棄」をクリックするだけです。
Visual Studioで、プロジェクトをアンロードして再ロードします。
一定!
私はこの解決策が、問題に何度も遭遇した上で、最もよく(最も簡単に)機能することを発見しました。
私はUnity 2017でVisual Studio 2017 15.4.5を使用して本日同じ問題にぶつかりました。
Visual Studioでプロジェクトを右クリックし、ターゲットフレームワークを3.5から4.5に変更することで問題を解決できました。
これが同じようなシナリオで他の誰かに役立つことを願っています。
2つの選択肢
修正1
@シングルトンは私をこの方向に向けました。プロジェクトは自動生成されるので、Visual Studioでターゲットを変更する代わりに、Unityでターゲットを変更する必要があります。
最初に自動生成されたVisual Studioファイルを削除します。csproj .user .sln
Unityの中からPlayerSettingsに行き、 'Other Settings'の下で 'Scripting Runtime Version'をStable 3.5からExperimental 4.6に変更してください。
しかし、それは私のためにそれを修正しませんでした。
修正2
私はUnity関連のコードへのすべての参照が黄色い警告でマークされているのに気付きました。エラーログを確認し、これが当てはまるかどうかを確認してください。特に、次のエラーが発生するかどうかを確認してください。getreferenceNearestTargetframeworkTask
その場合は、次の手順を実行してください。Visual Studioインストーラをもう一度起動します。
Build Tools 2017で、[修正]をクリックし、
「ターゲットの作成とタスクの作成」にチェックマークが付いていることを確認してください。 Universal Windows Platform開発をクリックすると、これにチェックが入ります。
私は統一エディタの代わりにビジュアルスタジオ自体から.csファイルを作成することによって私のソリューションを見つけました
クレジット: https://stackoverflow.com/a/47662523/10471480
Scriptsフォルダが表示されていない場合
Unity用のVisual Studio Toolsがインストールされていなかったため、私のオートコンプリートも機能しませんでした。そのため、インストール後に、自動生成されたVisual Studioファイルを削除してください。他の人はあなたが再びファイルを開くと問題を解決したと言っていますが、そうではありません。
トリックは:通常ファイルをダブルクリックする代わりに、あなたは右クリックしそれから「Open C#Project」によってUnityからC#ファイルを開く必要があります。
これを試して、
Unity Editorで[メニュー]に移動し、[編集]-> [設定]-> [外部ツール]-> [外部スクリプトエディター]をクリックします。 Visual Studio(VSのインストール済みバージョン)に設定します。
メニューバーで、[編集]-> [プロジェクト設定]-> [プレーヤー設定]-> [その他の設定]-> [設定]-> [API互換性レベルの確認]->インストール済みの.Netバージョンに変更します。私の場合、.Net 4.xに設定します
Visual Studioが既に実行されている場合、Visual Studioに移動して、プロジェクトの再読み込みを要求します。プロジェクトをリロードします。 Visual Studioを閉じない場合、動作するかどうかを確認します。 Unity Editorからcsファイルを開くと、動作するはずです。
うまくいったのは、壊れたクラス内のすべてのコードをコピーしてそのファイルを削除したことです。その後、空のファイルを開いて貼り付けました。
結果:美しい構文のハイライトが戻ってきました。
私のUnityプロジェクトで設定されていたものと同じバージョンの.NETをWINにインストールすることにしました。 (プレーヤー設定)
WindowsまたはmacOSの場合:
Visual Studio IDE(Unity Toolsあり) をダウンロード/インストールします
インストールするときは、必ず
Unityでのゲーム開発
次にUnityを使って(C#ファイルの1つをダブルクリックすることができます)、新しいC#プロジェクトを開くと、新しいプロジェクト構造でVisual Studio IDEが開きます。
そこから、あなたが探しているものを見ることができるはずです。
例えば:
Linuxの場合(提案):
Monodevelop - 追加情報 を試してください。コード補完/ヒントが表示されます。
上記の解決策のどれも私のために働きませんでした。しかし、私はProjectName.CSPROJファイルを開いて手動で新しいファイルを追加しました、そしてそれは魅力のように働きました
私が直面した問題は、C#プロジェクトが別の.NET Framework(4.7.2)をターゲットにしていたのに対し、Unityプロジェクトは別のターゲット(.NET 3.5)を持っていたことです。
Unityのターゲットを変更することでこれを修正しました。
[ファイル] - > [ビルド設定] - > [プレーヤ設定] - > [その他の設定] - > [API互換性レベル]:インストール済みの.NETバージョンに設定します(ここで.NETバージョン を確認します )。私の場合、それは4.xでした
この後、Visual Studioは完全に機能し、オートコレクトも修正されました。
私の場合は、正しい.netバージョンが私のPCにインストールされていませんでした。私は私のPCに。net3.5をインストールし、それは私のために働いた。