Verwenden von Visual Studio-Tools für Unity
In diesem Abschnitt erfahren Sie, wie Sie die Integrations- und Produktivitätsfunktionen von Visual Studio-Tools für Unity und den Visual Studio-Debugger für die Unity-Entwicklung einsetzen.
Öffnen von Unity-Skripts in Visual Studio
Nachdem Visual Studio als externer Editor für Unity festgelegt ist, wird durch das Doppelklicken auf ein Skript im Unity-Editor Visual Studio automatisch gestartet oder dahin gewechselt, und das ausgewählte Skript geöffnet.
Alternativ können Sie Visual Studio öffnen, während kein Skript im Quellcode-Editor geöffnet ist. Wählen Sie dazu das Menü Ressourcen > C#-Projekt öffnen in Unity aus.
Zugriff auf die Unity-Dokumentation
Sie können in Visual Studio schnell auf die Dokumentation zur Erstellung von Unity-Skripts zugreifen. Wenn Visual Studio-Tools für Unity die API-Dokumentation lokal nicht finden kann, wird versucht, sie online zu finden.
- Platzieren Sie in Visual Studio den Cursor über der Unity-API, zu der Sie Informationen wünschen, oder markieren Sie sie, und drücken Sie dann STRG+ALT+M > STRG+H.
- Sie können auch das Menü Hilfe > Unity-API-Referenz anstelle des Tastenkürzels verwenden.
- Platzieren Sie in Visual Studio für Mac den Cursor über der Unity-API, zu der Sie Informationen wünschen, oder markieren Sie sie, und drücken Sie dann Cmd+'.
- Sie können auch das Menü Hilfe > Unity-API-Referenz anstelle des Tastenkürzels verwenden.
API-Nachrichten von IntelliSense für Unity
Die Codevervollständigung von IntelliSense erleichtert das Implementieren von Unity-API-Nachrichten in MonoBehaviour-Skripts und das Erlernen des Umgangs mit der Unity-API. So verwenden Sie IntelliSense für Unity-Nachrichten:
Platzieren Sie den Cursor in einer neuen Zeile innerhalb des Texts einer Klasse, die von
MonoBehaviour
abgeleitet wird.Geben Sie den Namens einer Unity-Nachricht ein, z.B.
OnTriggerEnter
.Sobald Sie die Buchstaben ontri eingegeben haben, wird eine Liste von IntelliSense-Vorschlägen angezeigt.
Die Auswahl in der Liste kann auf drei verschiedene Arten geändert werden:
Mit den Pfeiltasten Nach oben und Nach unten
Indem Sie mit der Maus auf das gewünschte Element klicken
Indem Sie den Namen des gewünschten Elements weiter eingeben
IntelliSense kann die ausgewählte Unity-Nachricht einfügen, einschließlich aller erforderlichen Parameter:
Durch Drücken der TAB-TASTE
Durch Drücken der EINGABETASTE.
Durch Doppelklicken auf das ausgewählte Element
Unity MonoBehavior-Assistent für das Erstellen von Skripts
Sie können den MonoBehavior-Assistenten verwenden, um eine Liste aller Unity-API-Methoden anzuzeigen und schnell eine leere Definition zu implementieren. Diese Funktion ist hilfreich – insbesondere, wenn die Option Methodenkommentare generieren aktiviert ist – wenn Sie noch lernen, was in der Unity-API verfügbar ist.
So erstellen Sie mit dem MonoBehavior-Assistenten leere MonoBehavior-Methodendefinitionen:
Positionieren Sie den Cursor in Visual Studio an der Stelle, an der die Methoden eingefügt werden sollen, und drücken Sie STRG+UMSCHALT+M, um den MonoBehavior-Assistenten zu starten. Drücken Sie in Visual Studio für Mac Cmd+Umschalt+M.
Aktivieren Sie im Fenster Create script methods (Skriptmethoden erstellen) die Kontrollkästchen neben den Namen der einzelnen Methoden, die Sie hinzufügen möchten.
Wählen Sie in der Dropdownliste Framework version Ihre gewünschte Version aus.
Standardmäßig werden die Methoden an der Position des Cursors eingefügt. Alternativ können Sie sie nach jeder Methode, die bereits in Ihrer Klasse implementiert ist, durch Ändern des Werts der Dropdownliste Insertion point (Einfügemarke) an der gewünschten Stelle einfügen.
Wenn Sie möchten, dass der Assistent Kommentare für die Methoden generiert, die Sie ausgewählt haben, markieren Sie das Kontrollkästchen Methodenkommentare generieren. Diese Kommentare sollen Ihnen helfen zu verstehen, wann die Methode aufgerufen wird und was ihre allgemeinen Aufgaben sind.
Klicken Sie auf die Schaltfläche OK, um den Assistenten zu beenden und die Methoden in Ihren Code einzufügen.
Unity-Projekt-Explorer
Der Unity-Projekt-Explorer zeigt alle Ihre Unity-Projektdateien und -Verzeichnisse in der gleichen Weise wie der Unity-Editor an. Dies unterscheidet sich vom Navigieren durch Ihre Unity-Skripts mit dem normalen Visual Studio-Projektmappen-Explorer, der sie in Projekten und einer von Visual Studio generierten Projektmappe organisiert.
- Wählen Sie im Visual Studio-Hauptmenü Ansicht > Unity-Projektexplorer aus. Tastenkombination: ALT+UMSCHALT+E
- In Visual Studio für Mac verhält sich das Lösungspad automatisch wie folgt, wenn ein Unity-Projekt geöffnet wird.
Debuggen von Unity
Mit Visual Studio-Tools für Unity können Sie Editor- und Spielskripts für Ihr Unity-Projekt mit dem leistungsfähigen Debugger von Visual Studio debuggen.
Debuggen im Unity-Editor
Debugging starten
- Stellen Sie eine Verbindung von Visual Studio mit Unity her, indem Sie auf die Wiedergabeschaltfläche mit der Bezeichnung An Unity anfügen klicken, oder verwenden Sie die Taste F5.
- Verbinden Sie Visual Studio mit Unity, indem Sie auf die Schaltfläche Play (Wiedergeben) klicken, oder drücken Sie ⌘ (cmd)+EINGABETASTE oder F5 ein.
- Wechseln Sie zu Unity, und klicken Sie auf Play, um das Spiel im Editor auszuführen.
- Wenn das Spiel in Unity-Editor ausgeführt wird und gleichzeitig eine Verbindung mit Visual Studio besteht, pausieren alle vorgefundenen Breakpoints die Ausführung des Spiels und bringen die Codezeile hervor, in der das Spiel den Breakpoint in Visual Studio erreicht hat.
Beenden des Debuggens
Klicken Sie in Visual Studio auf die Schaltfläche Beenden, oder verwenden Sie die Tastenkombination UMSCHALT + F5.
Klicken Sie in Visual Studio für Mac auf Stop (Beenden), oder drücken Sie UMSCHALTTASTE+CMD+EINGABETASTE.
Weitere Informationen zum Debuggen in Visual Studio finden Sie unter Dokumentation zum ersten Blick auf den Visual Studio-Debugger.
An Unity anfügen und wiedergeben
Der Einfachheit halber können Sie die Schaltfläche An Unity anfügen in den Modus An Unity anfügen und wiedergeben ändern.
Klicken Sie auf den kleinen Pfeil nach unten neben der Schaltfläche An Unity anfügen.
Wählen Sie An Unity anfügen und wiedergeben aus dem Dropdownmenü aus.
Die Wiedergabeschaltfläche erhält die Bezeichnung An Unity anfügen und wiedergeben. Wenn Sie auf diese Schaltfläche klicken oder die Taste F5 verwenden, erfolgt zusätzlich zum Anfügen des Visual Studio-Debuggers automatisch der Wechsel zum Unity-Editor und wird das Spiel im Editor ausgeführt.
Das Debuggen zu starten und den Unity-Editor wiederzugeben kann als einzelner Schritt direkt in Visual Studio für Mac ausgeführt werden, indem Sie die Konfiguration An Unity anfügen und wiedergeben auswählen.
Hinweis
Wenn Sie das Debuggen mithilfe der Konfiguration An Unity anfügen und wiedergeben gestartet haben, hält die Stopp-Schaltfläche auch den Unity-Editor an.
Debuggen von Unity-Playerbuilds
Sie können Entwicklungsbuilds von Unity-Playern mit Visual Studio debuggen.
Aktivieren des Skriptdebuggens in einem Unity-Player
Öffnen Sie in Unity die Buildeinstellungen durch Auswahl von File > Build Settings (Datei > Buildeinstellungen).
Aktivieren Sie im Fenster „Build Settings“ (Buildeinstellungen) Ihres Unity-Projekts die Kontrollkästchen Development Build (Entwicklungsbuild) und Script Debugging (Skriptdebuggen).
Auswählen einer Unity-Instanz zum Anfügen des Debuggers
Wählen Sie in Visual Studio im Hauptmenü Debuggen > Unity-Debugger anfügen aus.
Das Dialogfeld Unity-Instanz auswählen zeigt Informationen zu jeder Unity-Instanz, mit der Sie eine Verbindung herstellen können.
Projekt Der Name des Unity-Projekts, das in dieser Instanz von Unity ausgeführt wird.
Computer Der Name des Computers oder Geräts, auf dem diese Unity-Instanz ausgeführt wird.
Typ-Editor, wenn diese Unity-Instanz als Teil des Unity-Editors ausgeführt wird; Player, wenn diese Unity-Instanz ein eigenständiger Player ist.
Port Die Portnummer für den UDP-Socket, über den diese Instanz von Unity kommuniziert.
Wichtig
Da Visual Studio-Tools für Unity und die Unity-Instanz über einen UDP-Netzwerksocket kommunizieren, erfordert Ihre Firewall möglicherweise eine Regel, die dies zulässt. In diesem Fall wird Ihnen möglicherweise eine Aufforderung angezeigt, die Verbindung zu autorisieren, damit VSTU und Unity kommunizieren können.
Auswählen einer Unity-Instanz, die nicht in der Liste angezeigt wird
Wenn Sie wissen, dass ein Unity Player ausgeführt wird, dieser aber nicht in der Liste erscheint, können Sie die Schaltfläche IP eingaben im Fenster „Unity-Instanz auswählen“ verwenden. Geben Sie die IP-Adresse und den Port des ausgeführten Unity Player ein, um den Debugger zu verbinden.
Aktivieren Sie die Einstellung Gespeicherte Debugziele verwenden im Menü Extras > Optionen > Tools für Unity > Allgemein, um das Debuggen dieses Players zu vereinfachen, ohne die IP-Adresse und den Port jedes Mal einzugeben.
Visual Studio zeigt gespeicherte Debugziele als Option in der Schaltfläche „An Unity anfügen“ an.
- Wählen Sie in Visual Studio für Mac im oberen Menü die Option Ausführen > An Prozess anfügen aus.
- Wählen Sie im Dialogfeld An Prozess anfügen unten im Debugger-Dropdownmenü die Option Unity-Debugger aus.
- Wählen Sie eine Unity-Instanz aus der Liste aus und klicken Sie auf die Schaltfläche Anfügen.
Debuggen einer DLL im Unity-Projekt
Viele Unity-Entwickler schreiben Codekomponenten als externe DLLs, damit die Funktionalität, die sie entwickeln, einfach mit anderen Projekten gemeinsam genutzt werden kann. Durch Visual Studio-Tools für Unity wird das reibungslose Debuggen von Code in diese DLLs mit anderem Code in Ihrem Unity-Projekt erleichtert.
Hinweis
Derzeit unterstützt Visual Studio-Tools für Unity nur verwaltete DLLs. Das Debuggen von DLLs mit systemeigenem Code, z. B. mit C++-Code, wird nicht unterstützt.
Beachten Sie, dass bei dem hier beschriebenen Szenario davon ausgegangen wird, dass Sie den Quellcode haben, d. h. dass Sie eigenen Code aus erster Hand entwickeln oder wiederverwenden oder über Quellcode für eine Drittanbieterbibliothek verfügen und dessen Bereitstellung in Ihrem Unity-Projekt als DLL planen. Dieses Szenario beschreibt nicht das Debuggen einer DLL, für die Sie nicht über den Quellcode verfügen.
So debuggen Sie ein in Ihrem Unity-Projekt verwendetes verwaltetes DLL-Projekt
Fügen Sie Ihr vorhandenes DLL-Projekt der Visual Studio-Projektmappe hinzu, die von Visual Studio-Tools für Unity generiert wurde. Möglicherweise starten Sie auch, was weniger üblich ist, mit einem neuen verwalteten DLL-Projekt als Container für die Codekomponenten Ihres Unity-Projekts. Ist dies der Fall, können Sie stattdessen der Visual Studio-Projektmappe ein neues verwaltetes DLL-Projekt hinzufügen.
In beiden Fällen verwaltet Visual Studio-Tools für Unity den Projektverweis, selbst wenn die Projekt- und Projektmappendateien neu generiert werden müssen. Daher müssen Sie diese Schritte nur einmal ausführen.
Verweisen Sie im DLL-Projekt auf das richtige Unity-Frameworkprofil. Legen Sie in Visual Studio in den Eigenschaften des DLL-Projekts die Eigenschaft Zielframework auf das von Ihnen verwendete Unity-Framework fest. Dies ist die Unity-Basisklassenbibliothek, die der gewünschten API-Kompatibilität Ihres Projekts entspricht, wie z. B. die Unity-Klassenbibliothek "full", "micro" oder "web". Dies verhindert, dass Ihre DLL Frameworkmethoden aufruft, die in anderen Frameworks oder auf anderen Kompatibilitätsstufen, aber nicht in der Unity-Frameworkversion vorhanden sind, die Sie verwenden.
Hinweis
Folgendes ist nur erforderlich, wenn Sie eine ältere Unity-Runtime verwenden. Wenn Sie die neue Unity-Runtime verwenden, müssen Sie diese speziellen 3.5-Profile nicht mehr verwenden. Verwenden Sie ein .NET 4.x-Profil, die mit Ihrer Unity-Version kompatibel ist.
Kopieren Sie die DLL in den Ordner "Assets" Ihres Unity-Projekts. In Unity sind "Assets" Dateien, die in Paketen zusammen mit Ihrer Unity-App so bereitgestellt werden, dass sie zur Laufzeit geladen werden können. Da DLLs zur Laufzeit verknüpft werden, müssen die DLLs als Assets bereitgestellt werden. Um als Asset bereitgestellt zu werden, verlangt der Unity-Editor, dass die DLLs dem Ordner "Assets" in Ihrem Unity-Projekt hinzugefügt werden. Dazu stehen zwei Möglichkeiten zur Verfügung:
Ändern Sie die Buildeinstellungen Ihres DLL-Projekts so, dass eine im Anschluss an den Build erfolgende Aufgabe hinzugefügt wird, die die DLL- und PDB-Ausgabedateien aus ihrem Ausgabeordner in den Ordner Assets Ihres Unity-Projekts kopiert.
Ändern Sie die Buildeinstellungen Ihres DLL-Projekts so, dass der Ausgabeordner auf den Ordner Assets Ihres Unity-Projekts festgelegt wird. Sowohl DLL- als auch PDB-Dateien werden im Ordner Assets abgelegt.
Die PDB-Dateien sind für das Debuggen erforderlich, da sie Debugsymbole der DLL enthalten und den DLL-Code seiner Quellcodeform zuordnen. Wenn Sie auf die ältere Runtime Visual abzielen, verwendet Visual Studio-Tools für Unity Informationen aus der DLL- und PDB-Datei, um eine DLL.MDB-Datei zu erstellen. Dies ist das Debugsymbolformat, das von der älteren Unity-Skript-Engine verwendet wird. Wenn Sie auf die neue Runtime zielen und Portable-PDB verwenden, werden die Visual Studio-Tools für Unity nicht versuchen, eine Symbolkonvertierung durchzuführen, da die neue Unity-Runtime Portable-PDBs nativ verarbeiten kann.
Weitere Informationen zur PDB-Generierung finden hier. Wenn Sie auf die neue Runtime abzielen, stellen Sie bitte sicher, dass „Debuginformationen“ auf „Portable“ gesetzt ist, um Portable-PDB korrekt zu generieren. Wenn Sie auf die ältere Runtime abzielen, müssen Sie „Full“ verwenden.
Debuggen Sie Ihren Code. Sie können jetzt Ihren DLL-Quellcode zusammen mit dem Quellcode Ihres Unity-Projekts debuggen und alle vertrauten Debuggingfunktionen nutzen, d. h. Haltepunkte setzen und Code schrittweise durchlaufen.
Tastenkombinationen
Über Tastenkombinationen können Sie schnell auf die Unity-Tools für Visual Studio-Funktionalität zugreifen. Hier eine Übersicht über die verfügbaren Tastenkombinationen.
Befehl | Verknüpfung | Name des Kontextmenübefehls |
---|---|---|
Den MonoBehavior-Assistenten öffnen | STRG+UMSCHALT+M | EditorContextMenus.CodeWindow.ImplementMonoBehaviours |
Den Unity-Projekt-Explorer öffnen | ALT+UMSCHALT+E | View.UnityProjectExplorer |
Auf Unity-Dokumentation zugreifen | STRG+ALT+M > STRG+H | Help.UnityAPIReference |
An Unity-Debugger (Player oder Editor) anfügen | Kein Standard | Debug.AttachUnityDebugger |
Sie können die Tastenkombinationen ändern, wenn Ihnen die Standardeinstellung nicht gefällt. Weitere Informationen finden Sie unter Identifizieren und Anpassen von Tastenkombinationen in Visual Studio.
Befehl | Verknüpfung | Name des Kontextmenübefehls |
---|---|---|
Den MonoBehavior-Assistenten öffnen | Cmd+Umschalt+M | EditorContextMenus.CodeWindow.ImplementMonoBehaviours |
Auf Unity-Dokumentation zugreifen | Cmd+' | Help.UnityAPIReference |
Sie können die Tastenkombinationen ändern, wenn Ihnen die Standardeinstellung nicht gefällt. Informationen zum Ändern finden Sie unter Anpassen der IDE.