Visual Studio unter Unity für macOS als Skripteditor nutzen

Standardmäßig nutzt Unity das eingebaute MonoDevelop, wenn es darum geht Quellcode zu bearbeiten. Ist allerdings auf dem Mac Visual Studio installiert, so kann dieses als primäre IDE genutzt werden. Dazu müssen die Preferences von Unity geöffnet werden.

Die Unity-Einstellungen

Dort findet sich der Punkt External Tools. In diesem Tab findet sich die Einstellung External Script Editor. Bei installiertem Visual Studio kann dieses eingestellt werden und wird damit in Zukunft von Unity genutzt.

Xamarin Studio und MonoDevelop

Wenn man mittels Mono eine Anwendung entwickeln möchte, so wird man dafür in den meisten Fällen MonoDevelop oder Xamarin Studio nutzen. Xamarin ist die Firma welche Mono entwickelte (über Ximian und später Novel). Allerdings ist nicht wirklich klar wo sich die beiden IDE’s voneinander unterscheiden, den bei beiden scheint es sich im Kern um MonoDevelop zu handeln.

Xamarin Studio mit geöffnetem Projekt

Xamarin Studio mit geöffnetem Projekt

Wie auf der Mailingliste klargestellt wurde handelt es sich bei Xamarin Studio um eine MonoDevelop-Version welche um einige Add-Ins für iOS und Android sowie andere Funktionen erweitert wurde. Der Quelltext von MonoDevelop ist wie gehabt auf GitHub zu finden.

MonoDevelop und die invalide Warnungsnummer

Manchmal ist Mono Develop etwas undurchsichtig. So bekam ich bei einem Projekt welches ich neu kompilieren wollte mehrmals die Fehlermeldung:

Error CS1904: `' is not a valid warning number (CS1904) (CSCL)

Der Compiler beschwert sich hierbei darüber, das eine spezifizierte Warnungsnummer nicht existiert. Allerdings ist es schwierig eine nicht vorhandene Nummer zu finden.

Die Compiler Optionen

Die Compiler Optionen

Die Lösung lag in den Compiler Optionen des Projektes. Hier befand sich unter “Warnungen ignorieren” die Zeile:

0168 ; 0169; 0414; 0618; 0649

Das Problem an dieser Zeile waren die Leerzeichen, welche von MonoDevelop als zu ignorierende Warnungen interpretiert wurden. Und eine Warnung ohne Nummer kennt das System natürlich nicht. Nach dem Entfernen der Leerzeichen, kompilierte auch das Projekt wieder.

MonoDevelop und “invalid configuration mapping”

Nach der Änderung des Projektes von “Debug|x86” zu “Debug” (AnyCPU) meldete sich MonoDevelop mit der Meldung:

invalid configuration mapping

Das Problem liegt hier aber nicht am Projekt selbst, sondern an der Projektmappe (Solution).

Die fehlerhaften Einstellungen in der Projektmappe

Die fehlerhaften Einstellungen in der Projektmappe

Diese erreicht man indem man auf die Wurzel der Mappe klickt und dort den Punkt “Optionen” auswählt. Unter “Erstellen” -> “Konfigurationen” findet man dann den Übeltäter. Hier erstellt man neue Konfigurationen und entfernt die alten. Danach sollte es mit dem umgestellten Projekt keinerlei Probleme mehr geben.

Script#

Bei der Entwicklung wundert man sich ab und an, was für interessante Projekte in den Weiten des Netzes so umherschwirren. So unter anderem das Projekt Script#. Dabei handelt es sich um eine Erweiterung für das Visual Studio 2012 mit welcher es möglich ist C# Quelltext (so er gewissen Kriterien genügt) in JavaScript umzuwandeln, bzw. zu compilieren.

Die Erweiterung welche im Quelltext unter https://github.com/nikhilk/scriptsharp zu finden ist, steht dabei unter der Apache Lizenz und ist somit freie Software. Nach der Installation fügt sie dem Visual Studio neue Projekttypen hinzu, mit welchen man anschließend arbeiten kann. Leider gibt es von Script# keine MonoDevelop Variante, so das man im Moment zwingend an das Visual Studio gebunden ist. Allerdings findet sich in der Roadmap folgender Satz:

In terms of code contribution, it would be especially interesting to see the development of import libraries for common libraries, so they are easily usable right out of the box. It would also be interesting to see the development of complementary tools/addins, adding support to other IDEs (esp. MonoDevelop) and other such complementary projects. Or you might be interested in the very core, i.e. the compiler itself.

Also wenn sich jemand bemüßigt fühlt, das ganze für MonoDevelop in Angriff zu nehmen, der muss nun nicht mehr auf die Einladung warten. Die offizielle Projektseite von Script# ist unter http://scriptsharp.com/ zu finden.