GameDevWeek/NetBeans
Inhaltsverzeichnis
Allgemeines
Wir empfehlen mind. NetBeans 8 in Verbindung mit JDK 8 zu benutzen.
Notwendige Einstellungen
UTF-8 Character Encoding
UTF-8 Encoding wird schon über unser Maven Projekt eingestellt.
Sollte es dennoch notwendig sein, UTF-8 Global zu konfigurieren, so kann dies wie folgt erreicht werden:
- Öffne die Datei netbeans.conf (Im NetBeans verzeichnis unter etc/netbeans.conf zu finden.) mit einem Text Editor.
- Dort gibt es eine Option netbeans_default_options. Zu dieser sollte hinzugefügt werden:
- -J-Dfile.encoding=UTF-8
4 Whitespaces anstelle von Tabs
- Öffne über das Menü die Optionen: Tools->Options
- Gehe zur Sektion "Editor" und dort in den Tab "Formatting"
- Wähle dort die Sprache "All languages"
- Setze den Haken für "Expand Tabs to Spaces"
- Setze den Wert für "Number of Spaces per Indent" und "Tab Size" auf 4.
- Führe Folgendes für die Sprachen "Java" und "JSON" durch:
- Wähle die Sprache aus dem Dropdown
- Wähle die Kategorie "Tabs And Indents"
- Setze den Haken für "Use All Languages Settings"
Unix-Style Zeilenumbruch (LF)
- Öffne über das Menü die Optionen: Tools->Options
- Gehe zur Sektion "Editor" und dort in den Tab "Line Endings"
- Setze den Haken für "Enable adjusting the line endings"
- Wähle aus dem Dropdown die Option "Unix (LF)"
Hilfreiches
Package Darstellung ändern
Es kann zur Übersichtlichkeit beitragen die Packages in einem reduziertem Baum darzustellen:
- Rechte Maustaste auf die Projektansicht (*nicht* auf einen Eintrag im Baum)
- Im Kontextmenü wählen "View Java Packages as->Reduced Tree"
Projekt Gruppen
Man kann mehrere Projekte in der Projektansicht geöffnet haben, man sollte jedoch nur Projekte die zueinander gehören gleichzeitig offen haben. Es ist möglich Projekte zu Gruppen hinzuzufügen und dann komplette Gruppen zu laden:
- Rechte Maustaste auf die Projektansicht (*nicht* auf einen Eintrag im Baum)
- Im Kontextmenü wählen "Project Groups..." wählen
- Hier können nun Gruppen gewählt oder erstellt werden.
- Die Funktionalität dürfte selbsterklärend sein.
Alternativ auch über File->Project Groups... zu erreichen.
Hauptprojekt
Wenn man mehrere Projekte geöffnet hat und den Run Button oder ähnliches benutzt, wird immer das aktuelle Projekt gestartet. Hat man jedoch ein Hauptprojekt und alle anderen sind nur Bibliotheken, so kann es hilfreich sein, das Hauptprojekt als solches zu markieren, so dass dieses favorisiert wird. Netbeans versteckt diese Funktionalität von Haus aus. Man kann sie jedoch noch aktivieren:
- Öffne das Run-Menü
- Wähle einen Eintrag im Submenü "Set Main Project"
Sobald man ein Hauptprojekt gewählt hat, kann man auch über das Kontextmenü eines Projekts diese Einstellung schnell ändern ("Set as Main Project").
Maven Projekte
Maven Projekte können direkt über File->Open Project geöffnet werden.
Sobald ihr Mit Git einen Klon der CodeBase erstellt habt, könnt ihr die Projekte direkt öffnen:
- File->Open Project wählen.
- Zum Ort navigieren, wo der Klon gespeichert wurde.. dieser dürfte schon als Maven Projekt sichtbar sein durch ein Symbol "ma"
- Den Knoten aufklappen, so dass man die Unterknoten sehen kann.
- Den Oberknoten und alle Unterknoten, die als Maven Projekt sichtbar sind auswählen (Strg + Klick)
Reihenfolge des Bauens
Die Maven Projekte müssen in einer bestimmten Reihenfolge gebaut werden. Stellt vorher sicher, dass ihr mit dem Internet verbunden seid und eure Firewall Maven zulässt.
In dieser Reihenfolge muss gebaut werden:
- GDW-Parent
- GDW-Commons
- GDW-Commons-GDX
Es mag vorkommen, dass während der GDW Änderungen an diesen Projekten gemacht werden. In diesem Fall muss wieder in der Reihenfolge gebaut werden, ab dem Projekt, an dem die Änderung durchgeführt wurde. Also wenn nur GDW-Commons verändert wurde, muss GDW-Parent nicht neu gebaut werden.
Danach können die übrigen Projekte nach belieben gebaut werden:
- GDX-Tools (Partikel und Font Editor)
- GDW-Examples (Einige Beispiele zur CodeBase)
- GDW-Test (Ein Test Projekt)
Nachdem ihr Updates von Git gezogen habt, empfiehlt es sich mindestens das Projekt einmal neu zu bauen.