UltraEdit als IDE für BlitzMax
Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials
d-bugBetreff: UltraEdit als IDE für BlitzMax |
Di, März 20, 2007 23:34 Antworten mit Zitat |
|
---|---|---|
Vorweg, das ganze basiert auf diesem englischen Tutorial. Aber ein paar dinge
hab ich geändert (vorallem am Highlighter)! Geht es euch nicht auch so? Die BlitzMax IDE raubt euch jeden Spaß am programmieren, BLide ist euch viel zu überladen? Alle anderen IDEs für Blitzmax sind entweder zu verbuggt, oder ihre Entwicklung wurde eingestellt. Das kann einen wirklich frustrieren! Da ich schon länger nach einer Alternative suchte stolperte ich irgendwann über UltraEdit. Functionfolding, Bookmarks, Block-Kommentare einen frei konfigurierbaren Highlighter... Ich war begeistert! Hier werde ich nun beschreiben, wie man UltraEdit zur BlitzMax IDE umfunktioniert. Los geht es mit Besorgungen Als erstes brauchen wir mal UltraEdit(UE) ... Um den Highlighter benutzen zu können benötigt UE ein so genanntes Wordfile. Ich bereits eines angefangen, was auch schon die meisten Kommentare, Funktion, Konstanten, Types, Direktiven und Delimiter enthält. Natürlich ist es nicht komplett, denn ich frickel da nach und nach immer weiter dran herum. Highlighter Einstellungen So ohne weiteres funktioniert das natürlich nicht, man muss schon ein paar Einstellungen und Tricks anwenden. Als erstes sorgen wir mal dafür, dass UE auch kapiert, dass es sich um ein *.bmx File handelt und es auch richtig highlightet. Dafür öffnen wir mal die Optionen : Menü "Extras" --> "Optionen..." Dieser Dialog sollte nun erschienen sein. Selbstverständlich sieht der bei mir nur so aus, weil ich Windowblinds benutze. Der Grundaufbau ist aber der gleiche. zu 1 (Im Bild): Hier müssen wir erstmal das Wordfile angeben. zu 2 (Im Bild): In diesem Dropdown wählen wir nach erfolgreichem laden des Wordfiles jetzt den Eintrag BlitzMax 1.24 aus. zu 3 (Im Bild): Hier kann man die Farben und Fontface festlegen die vom Highlighter benutzt werden sollen. Ich empfehle dringendst einen Monospace-Font zu benutzen, da UE anscheinend Probleme beim Markieren hat, wenn es keiner ist. Wie man den Font ändert erkläre ich später noch. Hier ist erstmal nur wichtig, dass man z.B. Funktionen fett, Kommentare Kursiv usw. einstellen kann. Zum eintragen neuer Funktionen in das Wordfile muss man es einfach nur mit UE öffnen den Eintrag vornehmen und das File speichern. Oh Wunder, UE merkt es und highlightet die frisch eingetragene Funktion direkt!!!! Auch hier muss man etwas vorsichtig sein, denn alle Wörter einer Kategorie (z.B. Funktionen), mit dem gleichen Anfangsbuchstaben müssen in der selben Reihe, oder der angrenzenden Reihe stehen. Tragt ihr z.B. "Next" direkt hinter "For" in das Wordfile ein, kann es passieren, dass UE völlig durcheinander kommt. Font einstellen Wie oben schon gesagt empfehle ich einen Monospace-Font. Als Monospace bezeichnet man Fonts, deren Zeichen alle die selbe Breite haben (z.B. Fixedsys). Den Font ändern kann man unter : Menü "Ansicht" --> "Schriftart einstellen..." Dateidialog um BlitzMax Dateien erweitern Um Im Datei-Dialog nach BlitzMax (*.bmx) Dateien filtern zu können müssen wir noch eine Einstellung vornehmen. Unter Menü "Extras" --> "Optionen..." suchen wir nach dem Eintrag Dateitypen in der Liste und Tragen dort das ein was im unteren Bild zu sehen ist, bevor wir Einfügen drücken. Ab jetzt solltet ihr in der Lage sein euch nur BMax Dateien anzeigen zu lassen. ~Update 12.04.07~ Achtet darauf, dass die Dateiendung klein ist. Auf keinen Fall .BMX benutzen, denn solltet ihr eure Codes weiter geben an User der normalen MaxIDE werden die sehr erstaunt sein, dass es nur Fehlermeldungen hagelt. Macht auch irgendwie Sinn, denn schließlich sollen die Codes ja auch auf Linux und MacOSX ladbar sein können. Wie man auf dem Bild sieht machte ich genau diesen Fehler, weiß also wovon ich spreche. Kompilieren Jetzt kommen wir wohl zum wichtigsten. Ohne UE zu zu erzählen, was es mit den BMax-Dateien tun soll können wir das Ganze auch gleich vergessen. Da UE keine direkte Compiler-Unterstützung besitzt sind wir hier leider gezwungen mit Tricks zu arbeiten. Als erstes brauchen wir mal 2 Batch Dateien. Diese ist für den Release Modus gedacht... Code: [AUSKLAPPEN] @echo off
del %1 c:\blitzmax\bin\bmk.exe makeapp -a -r -t gui %1.bmx %1 Speichert diese als Run.bat ab... ...und diese für den Debug-Modus Code: [AUSKLAPPEN] @echo off
del %1 c:\blitzmax\bin\bmk.exe makeapp -a -d -t gui %1.bmx %1 Speichert diese als Debug.bat ab... Natürlich müsst ihr den Pfad zu bmk.exe an euren eigenen anpassen. Nun fangen wir an uns so genannte Werkzeuge anzulegen. Öffnet zunächst mal : Menü "Extras" --> "Werkzeug-Konfiguration..." Jetzt solltet ihr folgenden Dialog sehen: Dieser Dialog ist eigentlich recht selbsterklärend. Wichtig ist hierbei, dass ihr zunächst einmal Einfügen drückt, sonst überschreibt ihr evtl. das erste, bereits vorhandene, Werkzeug wieder. %p sagt UE, dass er den Pfad der Datei im aktuellen Reiter verwenden soll. %n sagt UE, dass er den Namen der Datei im aktuellen Reiter verwenden soll. Natürlich müsst ihr auch hier wieder euren eigenen Pfade zu den Batch Dateien verwenden. Nun wechseln wir zum Reiter Optionen Da es sich um eine Batch-Datei handelt müssen wir hier DOS-Programm einstellen. Ob ihr alle geöffneten Dateien, oder nur die aktuelle, oder aber gar keine speichern wollt bleibt euch selbst überlassen. Auf zum Reiter Ausgabe Ausgabe in Listenfeld sagt UE, dass die Ausgabe von BMK in das Ausgabefenster umgeleitet wird. Ausgabe aufzeichnen sorgt dafür, dass wir überhaupt was sehen können im Ausgabefenster. Alles weitere ist Mumpitz! Okay, hier kommen wir auch schon zum nächsten Nachteil von UltraEdit. UltraEdit ist nicht in der Lage die Ausgaben von BMK während der Laufzeit eures Programms in das Ausgabefenster zu schreiben. Die Ausgabe erfolgt erst nach Beenden eurer Applikation. Das nervt brutal, kann aber durch den Einsatz von UEStudio umgangen werden. Wie das geht erzähle ich euch morgen Abend. Das ganze macht ihr jetzt nochmal für die Debug.bat und schon kann es losgehen. Und nochwas... Der Highlighter ist nicht in der Lage zwischen Rem und Remove zu unterscheiden. Das habe ich umgangen in dem ich mir angewöhnte Rem' zu schreiben. Das wird vom Highlighter erkannt. Ebenso kann er bei Rem-Blöcken ein "End Rem" nicht finden, da End eine Funktion ist, die sehr oft vorkommt solltet ihr lieber "EndRem" schreiben. Ein Rem-Block sähe also so aus: Code: [AUSKLAPPEN] Rem'
Blablablabla blubber toller Rem-Block EndRem Dies hat KEINE Auswirkungen auf Docmods oder HotDocs, oder was ihr auch immer verwendet. Wie ihr euren Run- und Debug-Werkzeugen die richtigen Tasten, bzw eine eigene Toolbar zuweist steht sehr detailliert in der Hilfe von Ultraedit. Abschließend Gut, UltraEdit hat durchaus auch seine Nachteile, aber die tolle Funktionsumfang machte mir das alles wieder wett. Natürlich bin ich schließlich auf UEStudio umgestiegen. Aber das ist auch nichts anderes als UltraEdit mit ein paar Zusatz-Features. Wie man UEStudio zuleibe rückt erkläre ich euch dann nächstes mal. Ich bin bei weitem noch nicht fertig den kompletten Funktionsumfang von UE oder UEStudio zu lernen, also erwartet nicht, dass das hier die perfekte Lösung darstellt. So, sollte ich irgendwas vergessen haben, sagt es mir einfach. |
||
- Zuletzt bearbeitet von d-bug am Do, Apr 12, 2007 10:06, insgesamt 2-mal bearbeitet
rema |
Mi, März 21, 2007 6:17 Antworten mit Zitat |
|
---|---|---|
Super Sache von dir! Leider läuft UE nicht unter Mac *heul*... | ||
Barbapapa |
Mi, März 21, 2007 12:24 Antworten mit Zitat |
|
---|---|---|
Klingt super, aber wie sieht es denn mit dem debuggen aus? | ||
d-bug |
Mi, März 21, 2007 12:35 Antworten mit Zitat |
|
---|---|---|
Mit dem Debuggen siehts im Moment noch schlecht aus. Da bin ich noch am experimentieren. Leider gehöre ich zu den Menschen, die eher selten den Debugger benutzen. Deswegen komme ich eigentlich auch so klar. Wenn ich es aber richtig einschätze bräuchte man einen externen Debugger. Sprich, man müsste sich mal klepto2s Tutorial durchlesen und daraus einen eigenständigen Debugger schreiben.
Wie ich oben bereits sagte, ist das Einstellen von UE bei mir immernoch in Arbeit. cheers |
||
Barbapapa |
Mi, März 21, 2007 14:08 Antworten mit Zitat |
|
---|---|---|
Da fällt mir ein, dass ich auch Eikons Editor mal testen wollte. Schade, dass alle Kräfte an ihrem eigenen Ding arbeiten. Aber zumindest ist UE bewährt, bin sehr gespannt wie weit du es ausreizen kannst. Halte uns auf dem laufenden. | ||
BtbN |
Mi, März 21, 2007 16:20 Antworten mit Zitat |
|
---|---|---|
man kann auch komplett 'ohne debuger' debugen, da bmax den debugger mit in die debug-binary einkompiliert und dieser über die komandozeile benutzbar isr. | ||
d-bug |
Mi, März 21, 2007 22:10 Antworten mit Zitat |
|
---|---|---|
Jetzt noch fix ein paar kleine Helferlein. Bitte alle Pfade durch die eigenen
ersetzen. "Syncmods" als Werkzeug einrichten Menü "Extras" --> "Werkzeug-Konfiguration... Reiter "Befehl"
Reiter "Optionen"
Reiter "Ausgabe"
"Build All Modules" als Werkzeug einrichten Menü "Extras" --> "Werkzeug-Konfiguration... Reiter "Befehl"
Reiter "Optionen"
Reiter "Ausgabe"
"Build All Docs" als Werkzeug einrichten Menü "Extras" --> "Werkzeug-Konfiguration... Reiter "Befehl"
Reiter "Optionen"
Reiter "Ausgabe"
Viel Spaß damit. ~edit 02.04.07~ Man sollte die Ausgabe lieber doch in das Ausgabefenster umleiten, da man sonst leider nicht mehr sehen kann, wenn etwas schief gelaufen ist. Das ömmelige DOS-Fenster schließt sich ja direkt, wenn ein Fehler auftritt, oder der entsprechende Befehl fertig abgearbeitet ist. |
||
- Zuletzt bearbeitet von d-bug am Do, Apr 12, 2007 10:08, insgesamt 2-mal bearbeitet
Vertex |
Do, März 22, 2007 0:47 Antworten mit Zitat |
|
---|---|---|
UltraEdit sieht ja gar nicht mal schlecht aus, aber ohne Debugfunktion für mich unbrauchbar. Da BMax sicher nicht die einzige Sprache für UltraEdit ist, frage ich mich, ob es da Debugger für C, C++ usw. gibt. Besser gesagt, ob es überhaupt die Möglichkeit gibt, Debugger zu implementieren.
mfg olli Edit: Uff, der Spaß kostet ja zudem 50$ Das finde ich aber ganz schön happig für einen Texteditor. Das hat sich somit für mich auch gleich wieder erledigt ^^ |
||
vertex.dreamfall.at | GitHub |
d-bug |
Do, März 22, 2007 9:41 Antworten mit Zitat |
|
---|---|---|
Jap, ist nicht billig, der Kleine!
Klepto2 hat sich freundlicher weise bereit erklärt einen externen Debugger für UE zu schreiben. Das rechne ich ihm hoch an und bin mir auch sehr sicher, dass da was ordentlicheres bei rum kommt, als wenn ich das gemacht hätte. cheers |
||
Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials
Powered by phpBB © 2001 - 2006, phpBB Group