| |
|
|
- Seite 1 - |
|
RGH | Hallo,
in diesem Thread findet Ihr künftig immer die aktuellste Version von XProfed, der in XProfan geschriebenen Entwicklungsumgebung ab XProfan 10.0.
Herunterladen
Die benötigten die Scintilla.DLLs sind mit im Paket.
Es wird auch immer der Quellcode des Editors mitgeliefert, damit jeder sich den Editor an seine Editiergewohnheiten anpassen kann. Gerade bei einem Editor halte ich das für wichtig, da fast jeder seine eigenen Vorlieben und Gewohnheiten hat. Der Editor, ohne den mein Kollege nicht programmieren kann, kann für mich der reinste Albtraum sein und umgekehrt.
XProfed bietet "tabbed editing", d.h. mehrere geöffnete Dateien können direkt durch Reiter angewählt werden.
Ich bin auf Eure Kommentare gespannt.
Gruß Roland
Edit: 17.06.2020 - 23:00 Uhr: Version 5.0 (mit Quellcodes) |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 26.03.2006 ▲ |
|
|
|
| |
|
- Seite 3 - |
|
|
Sven Bader | Nachdem die "moderneren" Editoren auch veraltet sind arbeite ich wieder mit dem XProfEd.
Ich habe ein paar Vorschläge, die ersten beiden schlagen in die gleiche Kerbe.
1. Es wäre schön, wenn hier im Öffnen-Dialog standardmäßig alle kompatiblen Dateitypen vorgewählt wären. Ich muss recht häufig .inc Dateien öffnen und hierfür erst ins Dropdown und .inc wählen.
2. In der linken Spalte werden Includes angezeigt. Es wäre super, wenn diese auf Klick öffnen würden. Es würde reichen, wenn Dateien ohne Pfadangabe nur im aktuellen Verzeichnis gesucht werden.
3.Multiline-Edit funktioniert schon, man kann mit Alt+Klick mehrere Zeilen markieren und synchron in allen Zeilen etwas per Entf löschen, nur beim Tippen landet es nur in der letzten Zeile.
4. Aktualisieren der Navigation würde ich lieber auf F5 haben, das Datum kann gerne auf F6
5. Code Formatierung (Einrückung) Müsste gar nicht so Komplex sein, entweder der markierte Bereich oder die ganze Datei. Die Logik könnte sein:
Nach jedem if / ifnot / while / whileloop / Proc / ErrorProc (+ was ich hier vergesse) jede Zeile einrücken (aktuelle Einrückung + 1). Nach jedem endif / endwhile / endproc wieder ausrücken. Eine Verschachtelung müsste man so gar nicht weiter prüfen.
Um alles andere an der Codeformatierung kann man sich auch selbst kümmern, nur die korrekte Einrückung muss ständig angepasst werden.
Konfigurationsvorschlag für einen Dark Mode
Die Farben habe ich mir angepasst wie ich sie in phpstorm verwende, das ist besonders in den Abendstunden angenehem - Dark Mode eben. Mit den Farben kann sicher noch "gewürfelt" werden, welche wohin kommt aber die Palette finde ich schon sehr angenehm.
Wen es interessiert, hier die Farbwerte, zum händisch eingeben, diei INI bzw Registry-Einstellungen habe ich nicht finden können: 186 / 186 / 186 104 / 109 / 109 204 / 120 / 50 204 / 120 / 50 169 / 183/ 198 169 / 183/ 198 163 / 192 / 96 78 / 139 / 186 152 / 118 / 170 152 / 118 / 170 255 / 64 / 64 33 / 66 / 131 47 / 47 / 47
Jetbrains Mono: Schrift für optimale Lesbarkeit von Code
Sehr ans Herz legen kann ich jedem auch die Jetbrains Mono Font, welche eigens fürs Coden entwickelt wurde mit sehr guter Differenzierung von 1, l und I sowie 0 und O, vergrößerten Kleinbuchstaben usw. Die Schrift kann kostenlos geladen werden. [...]
Viele Grüße Sven |
|
|
| |
|
|
|
RGH | Der Editor ist in XProfan geschrieben und der Quellcode des Editors liegt bei. Es steht also jedem frei, ihn sich so anzupassen wie er mag!
Gruß Roland |
|
|
| XProfan X4Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 06.08.2021 ▲ |
|
|
|
|
Sven Bader | Hallo Roland,
bis auf das Multiline-Edit habe ich mir alles wie beschrieben umgesetzt. Das Anklicken von Header-Dateien im Treeview hat sogar einen Fallback auf den angegebenen Include-Pfad bekommen.
Zusätzlich habe ich Treeview und Zeilennummern passend zum Theme dunkel gemacht.
Solltest du oder jemand anderes Interesse an der Version oder einem Feature haben, gerne bei mir melden.
Grüße Sven |
|
|
| |
|
|
|
p.specht
| Wäre schön, wenn du deine Modifikation (zB als SB-mod) hier reinstellen könntest, Sven!
Anmerkung: Überhaupt wäre ein allgemeiner Mod-Thread zum ProfEd sinnvoll, es gibt ja inzwischen einige "Improved Versions", z.B. jene von Jens-Arne Reumschüssel, ältere von Andreas Miethe etc. |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 06.08.2021 ▲ |
|
|
|
|
Sven Bader | Was ist ein SB-mod, hat das etwas mit dem VerPatch.zip im Projektordner zu tun? Eigentlich gehört sowas ins Github als Fork, Profan hat nur keine IDE mit Github-Anbindung
Für jemanden, der meine Modifikationen nur teilweise möchte, könnte einen Diff-Checker verwenden, die gibts inzwischen auch online.
Meine Version habe ich diesem Post auch als Download angefügt als Binary und als Source. Die Modifikationen der anderen kenne ich nicht aber eine Kombination von Verbesserungen könnte doch spannend sein.
Herunterladen
Update 08.08: With/Endwith funktionieren jetzt, Compiler-Direktiven mit offenen Ifs bleiben aber gemein , die Ordnerstruktur ist jetzt wieder wie bei Rolands Download (Source Ordner). Ich habe auskommentierten Code drinnen gelassen zum Thema Autocomplete/Sofort-Kontexthilfe. Vermutlich werde ich es nicht weiter verfolgen und stattdessen eine reine Funktionsparameter-Hilfe für jede angeklickte Funktion in der Statusleiste anzeigen, das kann man für Stringfunktionen aber auf Create() doch öfter mal brauchen.
Hier meine Änderungen in der Übersicht:
- Treeview (Navigation) in dunklem Farbschema (noch nicht anpassbar)
- Splashscreen hübscher gemacht
- Der Datei-Öffnen-Dialog zeigt direkt alle kompatiblen Dateien an
- Hotkey für "Datum und Uhrzeit" (zuvor F5) mit "Navigation Aktualisieren" (zuvor F6) vertauscht
- "Code Formatieren" dem Menü hinzugefügt
- Es ist möglich, Header-Dateien per Klick aus dem Treeview zu öffnen
- Leiste mit den Zeilenzahlen in dunklem Farbschema (aktuell noch nicht anpassbar)
Und noch zwei Bugfixes an Originalfunktionen: -Bugfix: "Ausrücken" hat wenn vorne angelangt den Code gefressen, jetzt stoppt es nach dem letzten Leerzeichen
-Bugfix: Die GetLine$-Funktion lieferte teilweise das letzte Zeichen nicht, die Funktion wird neben der neuen Codeformatierung zum Beispiel auch für "Kopieren als Datei" verwendet. Eine Restunsicherheit bleibt für mich, ob jetzt nicht unter Umständen "zu viel" zurückgegeben wird. Als Ursache für den Bug kann ich nur bestimmte Whitespaces vermuten (Tabs, \r\n etc)
Zur Codeformatierung: Diese rückt nach folgenden Befehlen ein und bei deren Ende (endif, endwhile usw.) wieder aus: startpaint, subclassproc, subpopup, ogl("push"), errorproc, proc, if, ifnot, while, whileloop, whilenot, repeat appendmenu und addhotkey werden auch korrekt eingerückt, obwohl popup keinen Schließbefehl besitzt Mehrzeilige Klassen- oder Strukturdefinitionen mit Backslash als Zeilentrenner werden orientiert am Leerzeichen der ersten Zuweisung eingerückt.
Grüße Sven |
|
|
| |
|
|
|
p.specht
| SB-mod: Selbstbedienungs-Modifikation. Oder doch Sven Bader-mod ?
Übrigens: Den von mir oben angeregten Thread zu XProfEd gibt es längst: [...]
Sorry, glatt übersehen! |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 07.08.2021 ▲ |
|
|
|
|
Sven Bader | Neue Versionen poste ich zukünftig hier im IDE-Bereich: [...]
Grüße Sven |
|
|
| |
|
|
|
Sven Bader | @Roland: Über folgendes mir unerklärliches Verhalten bin ich gestoßen (im Interpreter).
Der Source-Code liegt in einem Unterordner, trotzdem wird die SciLexer.dll Datei korrekt gefunden (XPrfEditClass.prf ca Zeile 102):
.dll& = UseDLL("SciLexer.dll")
Frage ich den aktuellen Pfad eine Zeile davor ab, bekomme ich den Source Ordner bestätigt, in dem die DLL NICHT liegt und folglich gar nicht gefunden werden dürfte:
Bisher habe ich das Verhalten ignoriert aber es scheint fragil zu sein. Wenn ich zum Beispiel eine Resource beim Start einlesen möchte
, wird die DLL später nicht mehr gefunden und selbst bei einem Umkopieren der DLL startet zwar das Programm aber der Editor ist komplett ohne Syntaxhighlighting.
Den Kniff an der Sache übersehe ich leider, irgendwo muss ein Arbeitsverzeichnis gesetzt werden oder Ähnliches.
Grüße Sven |
|
|
| |
|
|