CollIDE - Crossplatform BlitzMax-IDE
Webstart

Nun, da Java ja mit Webstart ein feines Feature im Programm hat hab ich das mal getestet.
Webstart. Wer Webstart nicht kennt: Die Idee dahinter ist, dass man auf einen Link klickt und dann lokal ein Programm gestartet wird. Was es im Prinzip macht ist also nicht mehr als downloaden und starten, zum Testen von Programmen sehr fein.
Beim Start kann es unter Windows sein, dass die Firewall anschlägt. Das kommt daher, dass die IDE auf lokale Verbindungen vom Profiler lauscht. Ob ihr es verbietet oder nicht ist egal, nur der Profiler geht dann halt nicht. Aber ich bin mir gerade soweiso nicht sicher ob der auf Windows überhaupt funktioniert.
Naja, Vorraussetzungen: Linux, Windows oder OSX mit installiertem Java 6
Klick
Webstart. Wer Webstart nicht kennt: Die Idee dahinter ist, dass man auf einen Link klickt und dann lokal ein Programm gestartet wird. Was es im Prinzip macht ist also nicht mehr als downloaden und starten, zum Testen von Programmen sehr fein.
Beim Start kann es unter Windows sein, dass die Firewall anschlägt. Das kommt daher, dass die IDE auf lokale Verbindungen vom Profiler lauscht. Ob ihr es verbietet oder nicht ist egal, nur der Profiler geht dann halt nicht. Aber ich bin mir gerade soweiso nicht sicher ob der auf Windows überhaupt funktioniert.
Naja, Vorraussetzungen: Linux, Windows oder OSX mit installiertem Java 6
Klick
Frohe Weihnachten!

Zunächst einmal wünsche ich allen Blitzern frohe Weihnachten und erholsame Feiertage.
Dennoch war ich heute nicht untätig. Ich finde die Suche von Firefox genial, so ein kleines Feld unten dass sich wunderbar über die Tastatur bedienen lässt. Also hab ich es kurzerhand auch in CollIDE eingebaut.
Das Feld kann ganz einfach per Strg+F aufgerufen werden. Danach kann man sofort lostippen. Ein sanfter Druck auf Return sucht nach dem nächsten Vorkommen des Begriffs, Strg+Return sucht rückwärts. Wenn nicht gefunden wurde färbt sich das Feld rot.
Dennoch war ich heute nicht untätig. Ich finde die Suche von Firefox genial, so ein kleines Feld unten dass sich wunderbar über die Tastatur bedienen lässt. Also hab ich es kurzerhand auch in CollIDE eingebaut.
Das Feld kann ganz einfach per Strg+F aufgerufen werden. Danach kann man sofort lostippen. Ein sanfter Druck auf Return sucht nach dem nächsten Vorkommen des Begriffs, Strg+Return sucht rückwärts. Wenn nicht gefunden wurde färbt sich das Feld rot.


Noch ein kleines aber feines Feature

Ich hab mich vorhin mal hingesetzt und einen kleinen Filter für den CodeTree zusammengehackt. Man kann nun also einfach was eingeben und in Echtzeit erscheint nur das gefilterte.


In letzter Zeit komme ich leider nicht allzuoft dazu was an CollIDE zu machen, dennoch passiert etwas:
Die fetten Rahmen der Dockable Windows können abgeschaltet werden, so kann man sich leicht sein Layout zusammenbauen und wenn man nichts mehr ändern muss noch etwas mehr Platz schaffen
Kantenglättung für Schriften ist nun einstellbar und Standardmäßig aktiviert (Da gibts scheinbar auf dem Mac noch Probleme)
Menüeintrag zum Module Bauen
Dokumentation wird nun auch vom neuen Parser gelesen, somit ist die IDE nun 100% Java
Das LookAndFeel der Oberfläche ist nun einstellbar (Metal, Motif,Nimbus,Systemthema)
Tastenkombanationen kommen nun aus einer Datei, man kann sie also bei Bedarf anpassen. Eine GUI gibts dafür allerings noch nicht
Und natürlich wie immer eine Menge Bugfixes
Screenshot mit dem Nimbus LookAndFeel (Crossplatform und ab sofort Standard):







Screenshot mit dem Nimbus LookAndFeel (Crossplatform und ab sofort Standard):


Heute gibts mal wieder ein bisschen zu sehen:
Start der IDE
Highlighting einer INI-Datei
Code-Tree mit Kommentaranzeige
Docking
Hier




Hier

Es gibt bald eine neue Textarea. Nachdem ich mich mehrfach mit den Jungs von jEdit unterhalten hab bin ich zu dem Schluss gekommen, dass es sich doch lohnt auf deren Textarea umzustellen. Das bringt mehrere Vorteile:
Superschnelles Highlighting
Code Folding
Zeilennummern
Eine ordentliche API..
Highlighting von zig Sprachen
u.v.m.
Heute hab ich also begonnen das ganze in CollIDE zu integrieren, und am Ende des Tages funktioniert es auch schon. Natürlich sind eine Menge Funktionen auskommentiert und die Einstellungen werden beinahe komplett missachtetet, das baue ich jetzt in den nächsten Tagen wieder zusammen. Dank der xml-datei, die d-bug vor einiger Zeit mal für BMax schrieb, kann man auch schon was sehen:






Heute hab ich also begonnen das ganze in CollIDE zu integrieren, und am Ende des Tages funktioniert es auch schon. Natürlich sind eine Menge Funktionen auskommentiert und die Einstellungen werden beinahe komplett missachtetet, das baue ich jetzt in den nächsten Tagen wieder zusammen. Dank der xml-datei, die d-bug vor einiger Zeit mal für BMax schrieb, kann man auch schon was sehen:

Und immer noch nicht tot!

Ich hab in den letzten Tagen einiges geschafft
Zeile und Spalte werden unter dem Code angezeigt
Es gibt ein tolles Statistik Fenster zu jeder Datei
Die Toolbar hat nun einen Neu-Button
Der letzte Pfad wird beim öffnen gespeichert
Kontextmenüs für die Tabs
Es gibt eine Art "Fehlerberichterstattung"
Multicore Unterstützung für den Highlighter
Mit dem besseren Highlighter konnte ich auf einem Dualcore System die Highlightzeit der maxide von 2,5 auf 1,3 Sekunden drücken.







Mit dem besseren Highlighter konnte ich auf einem Dualcore System die Highlightzeit der maxide von 2,5 auf 1,3 Sekunden drücken.

CollIDE ist nicht tot

Hier ist in letzter Zeit nicht sehr viel los, aber CollIDE ist keineswegs tot. Ich arbeite an der Version 0.3 mit neuen Features und mehr Stabilität. Da ich gerade nicht viel Zeit habe gibts einfach mal einen aktuellen Screenshot

Und es ist ... ein Profiler!

Basicprogger sprach mich gestern mit einer Idee an, an die ich auch schon gedacht hatte, und zwar die Integration seines Profilers in meine IDE.
Kurz, was ist ein Profiler: Ein Profiler ist ein kleines Tool, welches es Programmierern ermöglicht Performance-Einbußen und Speicherleks in Programmen zu finden. Ein Profiler macht ein Programm beträchtlich langsamer, und wird daher nur bei der Entwicklung eingesetzt. Häufige Funktionen eines Profilers sind: Loggen von Funktionsaufrufen und deren Dauer, anezeige von Speicherallozierungen und insgesamt bestehenden Objekten, Graphen der verschiedenen Threads und deren Status. Das mit den Threads ist in BM natürlich aufgrund des fehlenden Multithreadings ziemlich sinnlos. Bis jetzt gibt es nur die Funktionsanzeige, und auch nur über den gesamten Code. Geplant sind noch die Anzeige von Speicherallozierungen, bestehenden Objekten und die Möglichkeit profiling points bzw. Codeteile festzulegen.
Einen Anfang sieht man hier, in Verbindung mit dem Debugger:
Kurz, was ist ein Profiler: Ein Profiler ist ein kleines Tool, welches es Programmierern ermöglicht Performance-Einbußen und Speicherleks in Programmen zu finden. Ein Profiler macht ein Programm beträchtlich langsamer, und wird daher nur bei der Entwicklung eingesetzt. Häufige Funktionen eines Profilers sind: Loggen von Funktionsaufrufen und deren Dauer, anezeige von Speicherallozierungen und insgesamt bestehenden Objekten, Graphen der verschiedenen Threads und deren Status. Das mit den Threads ist in BM natürlich aufgrund des fehlenden Multithreadings ziemlich sinnlos. Bis jetzt gibt es nur die Funktionsanzeige, und auch nur über den gesamten Code. Geplant sind noch die Anzeige von Speicherallozierungen, bestehenden Objekten und die Möglichkeit profiling points bzw. Codeteile festzulegen.
Einen Anfang sieht man hier, in Verbindung mit dem Debugger:

Bald!

Lange wird es nicht mehr dauern bis zum erscheinen einer neuen Version. Mit dem neuen Parser bin ich sehr zufrieden und er arbeitet schnell und sauber. Zudem will ich diemal umbedingt eine gewisse Zeit selbst mit der IDE Programmieren, um Schwachstellen und Bugs zu finden. Heute hab ich immerhin schonmal eine halbe Stunde die maxide debuggt, um meine Debugging-Features zu testen. Lokale Variablen, der StackTrace und das stückweise aberbeiten des Codes funktionieren gut. Desweiteren gibts es das Problem, dass die Prozess-Implementation von Java beim killen eines Programms nicht wirklich durchsetzungsfähig ist. Daher wird nun auf Linux und auf Mac der prozess nochmal mit dem Kommandozeilentool "kill" abgetötet, wenn er abgestürzt ist.
Zum Abschluss gibts noch ein kleines Video zu sehen, indem ich den Highlighter und den CodeTree kurz teste.
*KLICK*
Ogg Theora, kam so aus dem Screencaster gefallen, zum Umcodieren bin ich zu faul. ca. 14 MB
Zum Abschluss gibts noch ein kleines Video zu sehen, indem ich den Highlighter und den CodeTree kurz teste.
*KLICK*
Ogg Theora, kam so aus dem Screencaster gefallen, zum Umcodieren bin ich zu faul. ca. 14 MB
Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7 Weiter