seeseekey.net - Invictus Deus Ex Machina

Unter Java ist es mögliche alle Klassen eines Packages als ganzes zu importieren. Im Quelltext sieht das dann so aus:

import com.example.project.engine.*

Viele IDEs wie auch IntelliJ IDEA fügen diese Wildcard-Imports zu einem Projekt, wenn mehr als eine Klasse (abhängig von den Einstellungen) aus dem Namespace genutzt wird. Unter Umständen ist dieses Verhalten allerdings nicht gewünscht. Möchte man das Verhalten unter IntelliJ IDEA deaktivieren, muss dies in den Einstellungen geschehen.

Die entsprechende Seite in den Einstellungen

Die entsprechende Seite in den Einstellungen

Dort gibt es unter Editor -> Code Style -> Java -> Imports die Einstellung ab wie vielen Klassen ein Wildcard-Import genutzt werden soll. Stellt man hier die Zahl entsprechend hoch ein, so werden keine Wildcards-Imports mehr genutzt.

Wenn man die Verbindung von Klassen und deren Komponenten analysieren möchte, so kann man dies in vielen Java-IDEs mit Hilfe eines automatisch erzeugten Klassendiagrames. Verfügt die eigene IDE nicht über eine solche Funktionalität, so kann das Werkzeug Class Visualizer genutzt werden, welches unter class-visualizer.net zu finden ist.

Der Class Visualizer nach dem Start

Der Class Visualizer nach dem Start

Das Tool lädt dabei eine Reihe von Klassen aus einer JAR-Datei, bzw. aus einem Verzeichnis und analysiert diese anschließend. Danach kann die Klassenhierarchie durchsucht und die einzelnen Klassen analysiert werden. Dabei werden Ableitungen, Berechtigungen und vieles mehr übersichtlich darstellt, so das man auch komplexe Abhängigkeiten schnell durchschaut hat. Bei der Software handelt es sich um Freeware.

Wenn man in der IDE Intellij IDEA von JetBrains eine neue Java-Klasse erzeugt, so wird ein entsprechender Header erzeugt, aus welchem hervorgeht, wer genau diese Klasse angelegt hat. Zum Abschalten des Verhaltens müssen die Einstellungen geöffnet werden.

Die entsprechenden Einstellungen

Die entsprechenden Einstellungen

In den Einstellungen befindet sich der Punkt File and Code Templates. In diesem Punkt gibt es den Tab Includes. Wird dort der Punkt File Header ausgewählt, kann dieser entsprechend der eigenen Wünsche konfiguriert z.B. komplett entfernt werden.

In der Java-IDE IntelliJ IDEA ist es wie in vielen anderen IDEs möglich ein markiertes Stück Quelltext auf Knopfdruck auszukommentieren. Der Weg führt dabei über das Menü Code. Dort gibt es den Menüpunkt Comment with Line Comment. Nutzt man eine deutsche Tasterturbelegung steht man allerdings vor einem Problem. Das Kürzel Strg + / funktioniert nicht. Über die Einstellung könnte man nun die Tastenkombination für diese Funktion ändern, damit diese wieder funktioniert.

Im Menü Code ist die Funktionalität zum Auskommentieren zu finden

Im Menü Code ist die Funktionalität zum Auskommentieren zu finden

Einfacher kann man das Problem lösen wenn man eine Tastatur mit Numpad nutzt. Dort reicht es dann Strg in Verbindung mit dem Geteiltzeichen zu drücken (welches intern ebenfalls als Slash gewertet wird). So kann die Funktionalität über die Tastatur genutzt werden, ohne die Konfiguration anzupassen.

Eine IDE im Browser ist in den meisten Fällen immer eine recht durchwachsene Idee. Bei der IDE ASM80 kann sich das ganze, beschränkt auf ihren Einsatzbereich, allerdings sehen lassen. Die IDE ist für 8-Bit Computer gedacht, wobei sie sich hauptsächlich auf die Prozessoren 8080, 8085, Z80 und 6502 fokussiert. Neben einem Editor besteht die IDE aus dem entsprechenden Assembler, einem Debugger und passenden Emulatoren.

Die IDE mit einem geöffneten Programm

Die IDE mit einem geöffneten Programm

Entwickelt wurde die IDE von Martin Malý, welcher ASM80 unter der MIT-Lizenz lizenziert hat. Die von ihm genutzen Bibliotheken stehen teilweise unter anderen, ebenfalls freien, Lizenzen. Genutzt und ausprobiert werden kann ASM80 unter asm80.com.

Wer auf der Suche nach einer grafischen Entwicklungsumgebung für den Arduino ist, der solle sich einmal Minibloq anschauen. Das ganze ist dabei für Einsteiger geeignet da die “Programmierung” sehr grafisch abläuft. Das kann man sich auch an den Beispielen anschauen. Die Software selbst ist im Moment für Windows und Linux verfügbar und steht unter der RobotGroup-Multiplo Pacifist License (RMPL), welche unter http://multiplo.com.ar/soft/Mbq/Minibloq.Lic.v1.0.en.pdf eingesehen werden kann. Minibloq selbst findet man auf der offiziellen Seite unter http://blog.minibloq.org/.

Manchmal möchte man im Visual Studio Exceptions fangen obwohl sie z.B. in einem “try catch” Block liegen. Dies ist relativ einfach möglich sobald man weiß an welcher Stelle man suchen muss. Im Menü “Debug” gibt es den passenden Menüpunkt:

Wenn man dort den Punkt “Exceptions…” aufruft bekommt man folgendes Dialogfenster zu sehen:

In diesem kann man dann alle Exceptions angeben welche zwangsweise gefangen werden sollen.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Visual_Studio

MonoDevelop an sich ist eine schöne Entwicklungsumgebung für das Schreiben von Mono Anwendungen. Allerdings sind mir im Laufe der letzten Tage einige unschöne Dinge an MonoDevelop aufgefallen, welche dem Entwickler doch ziemlich nerven:

  • Mono startet augenscheinlich nie maximiert
  • die Optionen können nicht importiert und exportiert werden
  • der letzte View wird sich nicht gemerkt, beim Start wird immer der Default View benutzt
  • die Codeformatierung aktiviert sich nicht nach dem schließen einer geschweiften Klammer
  • Dateien können von Projekt zur Projekt verschoben werden, aber nicht in andere Ordner
  • es gibt kein Symbol zum Aus- und Einkommentieren in der Toolbar
  • keine Blockeditierfunktion (vertikales Editieren)
  • keine Option vorhanden um alle #region Objekte auf einmal zu schließen
  • anscheinend merkt sich MonoDevelop nicht ob eine Region geschlossen oder geöffnet war

An sich sind es viele Kleinigkeiten, die einen allerdings mit der Zeit doch ziemlich behindern und nerven. Dort sollte nachgebessert werden, damit die Entwicklung mit MonoDevelop mehr Spaß macht und produktiver wird 🙂

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/MonoDevelop
http://wiki.ubuntuusers.de/entwicklungsumgebungen

Wenn man unter Windows die neuste Version von Netbeans startet so bekommt man dort gleich nach dem Start eine kurze und knappe Fehlermeldung:

JVM creation failed

Diese tritt wohl nur bei 64 Bit Systemen mit mehr als 4 GiB Speicher im System auf. Allerdings scheint es auch bei Rechnern aufzutreten welche genau 4 GiB Arbeitsspeicher im System haben. Abhilfe schafft es hier die Datei netbeans.conf zu bearbeiten, welche sich bei einer normalen Installation im Verzeichnis

C:\Program Files (x86)\NetBeans 7.0.1\etc

befinden sollte. In dieser Datei sucht man die Option

netbeans_default_options

und hängt dort noch ein (die zuzuweisende Speichergröße kann frei gewählt werden)

-J-Xmx512m

heran. Dies setzt den zu benutzenden Speicher fest und somit kann Netbeans dann wieder ganz normal gestartet werden.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/NetBeans
http://solariz.de/3573/netbeans-ide-fehler-jvm-creation-failed.htm

Nach dem Update auf Oneiric Ocelot (in meinem Fall die Kubuntuversion) war auf einmal Netbeans verschwunden. Natürlich stellt sich die Frage warum es plötzlich entfernt wurde. Aufschluss darüber gibt der Ubuntu Bug 822753 welcher unter https://bugs.launchpad.net/ubuntu/+source/netbeans/+bug/822753 zu finden ist:

Could you please remove both source netbeans package and all binary packages from Ubuntu Oneiric universe repository.
The current version of NetBeans IDE in the packages is out of date and there is no enough resources to support and update the packages. So it makes using NetBeans IDE buggy and unreliable. The users are strongly recommended to download latest NetBeans versions from netbeans.org.

Sprich die Netbeansversion welche in Universe vorhanden ist, war zu fehlerbehaftet und da niemand die Zeit hatte sie upzudaten, sollte sie rausfliegen, was ja nun auch geschehen ist. Nun gut, nun muss man sich Netbeans halt unter http://netbeans.org/ direkt herunterladen.

Weitere Informationen gibt es unter:
http://wiki.ubuntuusers.de/Netbeans