| |
|
|
Sven Bader | sur la base de Rolands Open Source XProfEd [...] habe je une à mon Bedürfnisse angepasste Version erstellt, quelle je im Sinne des Open-Source-Gedankens aussi wieder zur Disposition se mettre voudrais.
Herunterladen
Neue Funktionen dans qui SE-Version
- Parallelbetrieb de jusque 10 Profan/XProfan Versionen, 1-Klick change qui Version
- Profan2Cpp intégration
- Darkmode et erweitertes Syntaxhighlighting
- intégration de WinMerge, um Source trop comparer (sélection ou bien Fichiers)
- Umfangreiche Versionierung/Sicherung de Quelltexten
- Verbesserte Tabs avec Icônes et Schließen-Button
- Codeformatierung
- un-/Ausrücken, un-Auskommentieren et Codeformatierung avec einem Undo-Schritt
- chercher et Ersetzen aussi de Zeilenumbrüchen et Tabs
- Suchfeld dans qui Toolbar
- cherche automatisch dans beide Richtungen
- Per Strg+Klick sur une Funktion springt on direct zum entsprechenden Proc ou bien Def
- Übersetzung de OpenGL Befehlen aus C++
- Farbkonvertierungen per Rechtsklickmenü
- Dossier-Öffnen menu zeigt direct alle kompatiblen Fichiers
- Live-Syntaxhilfe dans qui Statusleiste
- Farbvorschau dans qui Statusleiste
- Sprung zur letzten Position avec Strg+B
- F5 comme Hotkey zur Aktualisierung qui navigation
- Navigationsspalte per Drag&Drop vergrößerbar
- En-tête-Fichiers dans Navigationsspalte ouvrir sur Klick
- Kommentare pour plusieurs Zeilen mettons et entfernen
Bugfixes am Originalcode
- "Ausrücken" hat irgendwann den Code vorne gelöscht
- GetLine$-Funktion lieferte partiellement cela dernier marque pas
- Performance Verbesserungen
|
|
|
| |
|
|
|
p.specht
| très löblich! |
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 17.08.2021 ▲ |
|
|
|
|
Sven Bader | récente dans Version 1.02:
1. commuter de XProfan Versionen il peut droite vite entre deux Versionen hin et her schalten et hat hierzu jeweils une Indikator dans qui Toolbar.
oui, mon X4 Installationspfad ist merkwürdig
2. intégration de Profan2Cpp: Beim drücken de F6 wird cela korrekte Profan2Cpp projet ouvert, compilé et gestartet. Voraussetzung ist lediglich une .p2c - Projektdatei avec gleichem Namen comment qui .prf. qui Projektname dedans qui Dossier sollte aussi identique son. qui l'affaire ist sur virtuelle Mausklicks im P2C-la fenêtre gelöst alors Hände de qui souris pour dem Drücken de F6
ici encore un Beispiel comment on qui compilierte Dossier automatisch effectuer peux. là je vous aussi encore dans den Projektordner kopiere muss Je l' Austausch qui Ressourcen encore vorab forcieren.
cela Batch-Skript tum Copy & Pasten:
3. Kommentare de markierten Zeilen entfernen et hinzufügen, aussi sur Hotkeys. dans alten Profan Versionen (ou bien si on Profan2Cpp verwendet) gibt es oui qui /* */-Kommentare encore pas. qui Funktion ist droite robust et löscht pas plus, si aucun Hochkommas vorhanden sommes.
4. qui Farbgebung des Standard Farbschemas (hell) habe je quelque chose révisée.
5. Dossier automatisch échanger. Beim Öffnen einer Dossier ou bien échanger eines Tabs, wird jeweils cela Arbeitsverzeichnis avec geändert, sodass chez Verwendung des Öffnen Dialogs qui korrekte Dossier vorgewählt ist. Zudem peut sich per Strg+vieux+E cela jeweilige Verzeichnis einer geöffneten Dossier im Explorer ouvrir.
6. Unerwünschte Hotkeys blockiert. avec passiert es chez Vertippern gelegentlich, dass unerwünschte Steuerzeichen im Voir le texte source liegen, là es hierzu Editor Hotkeys gibt, cet überlagere je (Strg+N, P, Q) Strg+E habe J'ai oublié, venez im prochain Build.
7. Zur letzten Position springen, qui on bearbeitet hat Hierfür habe Je l' Hotkey Strg+B eingeführt
8. Sprung zur angeklickten Funktion Per Strg+Klick wird automatisch zum entsprechenden Proc ou bien Def gesprungen, sofern cet dans qui gleichen Dossier sommes.
9. Bugfixes j'ai pas alle Fixes dokumentiert mais à qui Quelltextformatierung z.B. suis je eigentlich toujours wieder la fois tour et probablement habe Je l' liste ici sogar Features unterschlagen |
|
|
| |
|
|
|
Georg Teles | très très bien enfin peux je alle Compiler dans un ProfED Verzeichnis zusammenlegen
Sven Bader (28.09.2021)
oui, mon X4 Installationspfad ist merkwürdig
zumindest la hâte du aucun 5 Editoren
la ligne 2767 ( ShowToolbar(0) ) sollte vllt zur la ligne 2910 déménagé volonté cela Hauptfenster ist là encore pas sichtbar, sodass qui Suchbutton qui Toolbar entier link erscheint, ou bien ist es seulement chez mir so ?
Grüße |
|
|
| |
|
|
|
Georg Teles | Kleiner Nachtrag: Ab qui la ligne 2316 devrait 6 la fois un + "\\" + entre AppData et ProgSprache abgeändert volonté
(la ligne 2316 jusqu'à einschließlich la ligne 2335 angepasst folgen
'$IFDEF VER14.0
RegKlasse$ = $AppDataDir + "\\" + ProgSprache$ + "\\" + pp$ + "\\" + ProgName$ + ".cfg"
' si neue Konfigurationsdatei encore pas existiert, vieille Dossier à neue Stelle kopieren
Si non FileExists(RegKlasse$)' Cfg-Dossier ist encore pas im AppData-Verzeichnis
Si non DirExists($AppDataDir + "\\" + ProgSprache$ + "\\" + pp$ )' ggf. Verzeichnis anlegen
MkDir $AppDataDir + "\\" + ProgSprache$ + "\\" + pp$
EndIf
EndIf
'$ELSE
Def AppData(0) ReadIni$("HKEY_1", "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "AppData")
RegKlasse$ = AppData() + "\\" + ProgSprache$ + "\\" + pp$ + "\\" + ProgName$ + ".cfg"
' si neue Konfigurationsdatei encore pas existiert, vieille Dossier à neue Stelle kopieren
Si non FileExists(RegKlasse$)' Cfg-Dossier ist encore pas im AppData-Verzeichnis
Si non DirExists( AppData() + "\\" + ProgSprache$ + "\\" + pp$ )' ggf. Verzeichnis anlegen
MkDir AppData() + "\\" + ProgSprache$ + "\\" + pp$
EndIf
EndIf
'$ENDIF
Sonst wird un Verzeichnis ...\Users\ <User> \ AppData\RoamingXProfan récente angelegt statt im Verzeichnis \AppData\Roaming\XProfan\... gespeichert
Grüße |
|
|
| |
|
|
|
Sven Bader | merci pour den Feedback, Georg!
avec den Pfaden la hâte du droite, dans qui $AppDataDir schient déjà un Backslash drinnen trop son mais chez AppData() fehlte il. cela hatte sûrement pour cela un ou bien autre Durcheinander gesorgt.
avec dem Suchbutton J'ai eu ne...aucune Problem mais es mag à qui Stelle zeitkritisch trop son, deine Solution sollte alors aider je hatte une Weile gebraucht, qui cherche là unterzubringen, sans cela vous wieder verschwindet, qui Solution ici était SetParent()
chez avec stürzt qui Editor alle 1-2 Stunden ab, cela la fenêtre wird pas récente gezeichnet et cela Syntax-Highlighting reagiert pas plus. malheureusement kam je encore pas derrière elle, si es seulement à qui Zeit liegt ou bien à certain Nutzungsverhalten. qui Fehlersuche gestaltet sich ici schwierig, peut-être la hâte du une concept, comment on cela Debuggen peux. Sei sur jeden le cas gewarnt, et fais un Backup deiner Source, à denen du arbeitest. |
|
|
| |
|
|
|
Georg Teles | Ahja oui c'est ca
je schaue es mir oui c'est ca à, si chez mir cela gleiche Phänomen pour 1-2 h auftritt qui Suchfunktion ist sur jeden le cas très hilfreich muss je dire
Config habe je ici la fois hochgeladen avec deinen Farbeinstellungen, qui Pfade (Include, X4 et Alternative) müssten seulement angepasst volonté
Herunterladen
(kopieren pour: ...\Users\<USER>\AppData\Roaming\XProfan\Verzeichnis_trägt_PFAD_zum_XProfEDSE)
Grüße |
|
|
| |
|
|
|
Sven Bader | Super, merci!
Avez- du avec qui Suchfunktion qui Schnellsuche dans qui Toolbar ou bien qui Possibilité, Zeilenumbrüche trop ersetzen?
quoi je aussi encore pas entier durchschaue, ist cela Verbiegen qui Pfade dans Interpreter et fertigem Programme bzw pourquoi im Interpreter cela Syntax-Hightlighting gar pas allez. |
|
|
| |
|
|
|
Sven Bader | une neue Version ist online, principale sommes es Bugfixes: -Pfad zum Sauver qui Einstellungen était partiellement pas korrekt -Codeformatierung pour ASM / ENDASM -Prüfung aussi sur ausgewogene eckige Klammern -Klammernausgewogenheit ignorer, si la ligne sur \ endet -Upper/Lower et Hex-Umwandlung per Kontextmenü -"Andere Tabs schließen" -Funktionen et Codesnippets per Kontextmenü, vorerst Stringfunktionen et Profan2CPP-Direktiven -Include-Fichiers aus dem Treeview aussi klickbar, si zuletzt une Dossier dans einem anderen Pfad ouvert wurde -Markiertes mot dans qui cherche -Mehrfaches Öffnen einer Dossier pas plus possible, stattdessen wird qui Tab modifié |
|
|
| |
|
|
|
Sven Bader | So, eh bien pouvoir qui travail avec XProfed SE richtig Amusement:
récente dans Version 2.0
-Icônes sur Tabs -Schließen-Button pour Tabs -Parallele Konfiguration pour jusque 10 Profanversionen inkl. Profan2Cpp via aP2CCOMP -1-Klick change des Compilers sur qui Toolbar -Aider trop eigenen Procs: Anzeige qui paramètre dans qui Statusbar -Menüpunkte: Aider de pour XProfan11, X2, X3, Profan2CPP si vorhanden -Visuelle Verbesserungen (Cursor im Darkmode, la couleur qui sélection) -Schnellere Codeformatierung -Verbesserter et deutlich schnellerer Aufbau qui navigation (Treeview et liste) -intégration de WinMerge um Source trop comparer, sélection ou bien ganze Fichiers -Umfangreiche Versionierung/Sicherung de Quelltexten -Verbessertes Undo-Verhalten pour Codeformatierung, un/Ausrücken etc seulement encore un Undo-Schritt -Bugfixes -Weitere kleine Verbesserungen |
|
|
| |
|
|
|
Georg Teles | très très nice
habe Propositions zur Fenstergröße / -positionierung chez pas gewünschten Werten ou bien Bildschirmen, qui es z.B. pas plus gibt (z.B. sur einem externe Monitor gearbeitet ensuite abgeklemmt et Programme gestartet).
Defs pour Headereinbindung:
Bildschirmdaten lesen, sur dem cela hWnd gestartet wurde et KorrekturProc:
'{ Monitor Zusatz:
' -------------------
Déclarer rcMonitor#,rcWork#,mon#
Struct MONITORINFO = cbSize&,rcMonitor#(16),rcWork#(16),dwFlags&
Struct RECT = left&,top&,right&,bottom&
Faible rcMonitor#,RECT
Faible rcWork#,RECT
Faible mon#,MONITORINFO
mon#.cbSize& = SizeOf(mon#)
'}
Proc mbm
Déclarer mpos#,x1&,y1&,wix&,wiy&
Faible mpos#,8
GetCursorPos(mpos#)
wix& = %winLeft - long(mpos#,0)
wiy& = %winTop - long(mpos#,4)
GetMonitorInfoA(MonitorFromWindow(%HWnd,2),mon#)
GetCursorPos(mpos#)
x1&=(long(mpos#,0)+wix&)
cas x1&<Long(mon#,20):x1&=Long(mon#,20)
cas x1&>Long(mon#,28)-(%winRight - %winLeft):x1&=Long(mon#,28)-(%winRight - %winLeft)
y1&=(long(mpos#,4)+wiy&)
cas y1&<Long(mon#,24):y1&=Long(mon#,24)
cas y1&>Long(mon#,32)-(%winBottom - %winTop):y1&=Long(mon#,32)-(%winBottom - %winTop)
setWindowPos %hWnd=x1&,y1& - (%winRight - %winLeft),(%winBottom - %winTop);0
SetFocus(%HWnd)
Dispose mpos#
ENDPROC
Ab la ligne 572 im Original Programmende, ungewollte Fensterzustände auskommentieren, là qui Proc mbm ca übernimmt et DisPose mon#:
Proc ProgrammEnde
'----------------
Déclarer Fichiers$, PE_X&, PE_Y&, PE_DX&, PE_DY&
Geändert(1, 0)
ShowWindow(%hWnd,0)
Set("Décimal",0)
Si ~IsZoomed(%hWnd)
WriteIni RegKlasse$,RegPfad$,"MAX" = 1
D'autre
WriteIni RegKlasse$,RegPfad$,"MAX" = 0
EndIf
' Lecture qui Normalen Fenstergröße
PE_X& = gWindowData(0)
PE_Y& = gWindowData(1)
PE_DX& = gWindowData(2)
PE_DY& = gWindowData(3)
' Ungewollte Fensterzustände ausfiltern
'Cas ((PE_X& < 0) Or (PE_X& > %MaxX)):PE_X& = %MaxX / 20
'Cas ((PE_Y& < 0) Or (PE_Y& > %MaxY)):PE_Y& = %MaxY / 20
'Cas ((PE_DX& < 540) Or ((PE_DX& + PE_X&) > %MaxX)) : PE_DX& = %MaxX - %MaxX / 10
'Cas ((PE_DY& < 380) Or ((PE_DY& + PE_Y&) > %MaxY)) : PE_DY& = %MaxY - %MaxY / 10
' FensterStatus sichern
WriteIni RegKlasse$,RegPfad$,"X" = PE_X&
WriteIni RegKlasse$,RegPfad$,"Y" = PE_Y&
WriteIni RegKlasse$,RegPfad$,"DX" = PE_DX&
WriteIni RegKlasse$,RegPfad$,"DY" = PE_DY&
Fichiers$ = »
WhileLoop 0,MaxTab%
Cas Dossier$[&loop] > » : Fichiers$ = Fichiers$ + Dossier$[&loop] + ";"
Endwhile
WriteIni RegKlasse$,RegPfad$,"Dateien" = Fichiers$
LDat#.SaveList()
' Aufräumen
Éditer#[0].Destroy()
Dispose Éditer#[]
Dispose LDat#
Dispose mon#
DeleteObject DFont&
FreeDLL seDll&
ENDPROC
Ab la ligne 3147 im Original, DX & DY eventuell fixe Mindestgröße donner (ici x=500 y=400), habe z.B. 32:9 Bildschirm, là allez cela la fenêtre jusqu'à 3.456 px dans qui horizontale ... X% et Y% ignorer, là avec qui Proc mbm qui Position automatisch korrigiert wird.
' la fenêtre erstellen
' -----------------
Set("ErrorLevel",0)' Warnungen beim ersten Programmstart ausblenden
X$ = ReadIni$(RegKlasse$,RegPfad$,"X")
X% = Val(X$)
'Cas (%Error > 0) or (X$ = ») or (X% < 0) or (X% > 32767) : X% = %MaxX / 20
Y$ = ReadIni$(RegKlasse$,RegPfad$,"Y")
Y% = Val(Y$)
'Cas (%Error > 0) or (Y$ = ») or (Y% < 0) or (Y% > 32767) : Y% = %MaxY / 20
DX% = Val(ReadIni$(RegKlasse$,RegPfad$,"DX"))
Cas (%Error > 0) or (DX% < 500) or (DX% > 32767) : DX% = 500'%MaxX - %MaxX / 10
DY% = Val(ReadIni$(RegKlasse$,RegPfad$,"DY"))
Cas (%Error > 0) or (DY% < 400) or (DY% > 32767) : DY% = 400'%MaxY - %MaxY / 10
Max% = Val(ReadIni$(RegKlasse$,RegPfad$,"MAX"))
Cas (%Error > 0) : Max% = 0
Dateien$ = ReadIni$(RegKlasse$,RegPfad$,"Dateien")
Cas (%Error > 0) : Fichiers$ = »
Ab la ligne 3773 im Original: chez maximalen la fenêtre ist X & Y égal, là cet sur dem aktuellen Bildschirm maximiert wird et zwangsläufig = 0 beträgt (theoretisch) ... chez pas maximierten la fenêtre venez qui automatische Correction Proc mbm zum Einsatz
Ab la ligne 2909 im Original: quoi encore aufgefallen ist, cela SuchEdit et SuchButton beim erststart sur qui selben Stelle starten, là qui Fenstergröße eh bien toujours korrigiert wird, peux on qui Position de Anfang à fixieren:
TBSuch& = CREATE("EDIT", %hwnd, », width(%hWnd)-203,1, 175, 22)
TBOk& = CREATE("ICONBUTTON",%hwnd,icon(20), width(%hWnd)-27, 0, 24, 24)
A Propos qui cherche, genial avec qui "\n" cherche, funktioniert très bien qui commutateur, si il vorwärts ou bien arriéré cherchez muss malheureusement im la fenêtre chercher 1x betätigt volonté, avec cela qui "Schnellsuche" alors im Éditer vorwärts ou bien arriéré cherchez.
Genial, dass du den commutateur pour Versionen jusqu'à Profan 6 hinzugefügt la hâte cela wird den une ou bien andreren en supplément zwingen, neue Verzeichnisstruktur chez XProfan vorzunehmen hehe ... habe aussi extra pour profX2, profX3 et profX4 Verzeichnisse depuis deinem ersten SE Edtor angelegt, wohin qui Interpreter, Kompiler, Linker et Runtime drin liegen ... XProfed ensuite extra im Verzeichnis par-dessus
Grüße Georg |
|
|
| |
|
|
|
Sven Bader | merci pour dein ausführliches Feedback. qui Fenstergrößen muss je mir nochmal anschauen, habe malheureusement selbst seulement 16:10 Monitor mais pour deux, weshalb je cela avec dem Ausschalten zumindest testen peux. qui "Poweruser" bekommt cela la fenêtre oui aussi entier léger wieder avec Windows + Pfeiltaste dorthin, wohin il es voudrais.
Suchfeld et Suchbutton à gleicher Position dachte je ist égal, là chez chaque Start mindestens einmal qui Sous-classe zur Changement qui Fenstergröße aufgerufen wird mais une korrekte Position de Anfang à peux pas dommage.
avec qui avant- et Rückwärtssuche suis je aussi encore pas zufrieden.j'ai déjà quelques Verbesserungen daran vorgenommen mais je denke je werde wieder sans annonce "im Kreis" chercher laisser et oui, qui Schnellsuche sollte am besten unbeeindurckt de den Einstellungen des Suchfensters son.
dans qui aktuellen "Beta" habe je folgendes Verhalten eingefügt: -Im Explorer angeklickte Fichiers ouvrir im déjà offenen XProfan SE-la fenêtre -XProfan SE peut zwar encore beliebig souvent ouvrir, läd mais seulement dans qui ersten Instanz qui zuletzt geöffneten Fichiers -Es laisser sich plusieurs Fichiers gleichzeitig sur den Explorer ouvrir -Drag&Drop unterstützter Dateityp ist possible (comme but malheureusement aktuell seulement qui linke Spalte ou bien Kopfbereich, qui Editor hat cela Drop-Target pas angenommen) |
|
|
| |
|
|