| |
|
|
Sven Bader | Auf Base de Rolands Open Source XProfEd [...] Yo una a mi Bedürfnisse angepasste Versión erstellt, welche Yo en el Sinne des Open-Source-Gedankens auch otra vez disponible stellen möchte.
Descargar
Neue Características en el SE-Versión
- Parallelbetrieb de a a 10 Profano/XProfan Versionen, 1-Clic Wechsel el Versión
- Profano2Cpp Integration
- Darkmode y erweitertes Syntaxhighlighting
- Integration de WinMerge, en Fuente a vergleichen (Auswahl oder Archivos)
- Umfangreiche Versionierung/Sicherung de Quelltexten
- Verbesserte Tabs con Icons y Schließen-Button
- Codeformatierung
- Ein-/Ausrücken, Ein-Auskommentieren y Codeformatierung con un Undo-Schritt
- Suchen y Ersetzen auch de Zeilenumbrüchen y Tabs
- Suchfeld en el Toolbar
- Búsqueda automáticamente en beide Richtungen
- Per Strg+Clic en una Función springt uno direkt para entsprechenden Proc oder Def
- Übersetzung de OpenGL Befehlen de C++
- Farbkonvertierungen por Rechtsklickmenü
- Expediente-Öffnen Menü zeigt direkt todos kompatiblen Archivos
- Live-Syntaxhilfe en el Statusleiste
- Farbvorschau en el Statusleiste
- Sprung a letzten Position con Strg+B
- F5 como Hotkey a Aktualisierung el Navigation
- Navigationsspalte por Drag&Drop vergrößerbar
- Encabezamiento-Archivos en Navigationsspalte abierto en Clic
- Kommentare para mehrere Zeilen conjunto y entfernen
Bugfixes al Originalcode
- "Ausrücken" ha irgendwann el código vorne gelöscht
- GetLine$-Función lieferte teilweise el letzte Signo no
- Performance Verbesserungen
|
|
|
| |
|
|
|
p.specht
| Sehr 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 | Neu en Versión 1.02:
1. Umschalten de XProfan Versionen Se puede bastante rápidamente zwischen zwei Versionen hin y her schalten y ha hierzu jeweils una Indikator en el Toolbar.
Sí, mein X4 Installationspfad es merkwürdig
2. Integration de Profano2Cpp: Beim drücken de F6 se el korrekte Profano2Cpp Projekt geöffnet, compiliert y comenzó. Voraussetzung es lediglich una .p2c - Projektdatei con gleichem Namen como .prf. Der Projektname innerhalb el Expediente debería auch identisch ser. El Sache es encima virtuelle Mausklicks en el P2C-Ventana gelöst also Hände de ratón después de el Drücken de F6
Hier todavía una Ejemplo cómo el compilierte Expediente automáticamente ausführen kann. Desde que ellos auch aún en el Projektordner kopiere muss Yo, el Austausch el Ressourcen todavía vorab forcieren.
Das Batch-Skript tum Copy & Pasten:
3. Kommentare de markierten Zeilen entfernen y hinzufügen, auch encima Hotkeys. In alten Profano Versionen (oder si uno Profano2Cpp verwendet) hay sí el /* */-Kommentare todavía no. El Función es bastante robust y löscht no más, si no se Hochkommas disponible son.
4. El Farbgebung des Standard Farbschemas (hell) Yo algo überarbeitet.
5. Ordner automáticamente wechseln. Beim Öffnen uno Expediente oder Wechseln uno Tabs, se jeweils el Arbeitsverzeichnis con geändert, sodass en Verwendung des Öffnen Dialogs el korrekte Ordner vorgewählt es. Zudem lässt se por Strg+Alt+E el jeweilige Directorio uno geöffneten Expediente en el Explorer abierto.
6. Unerwünschte Hotkeys blockiert. Mit passiert lo en Vertippern gelegentlich, dass unerwünschte Steuerzeichen en el Ver código fuente mentira, como lo hierzu Editor Hotkeys son, esta überlagere Yo (Strg+N, P, Q) Strg+E Yo vergessen, kommt en el nächsten Build.
7. A letzten Position springen, el uno bearbeitet ha Hierfür Yo el Hotkey Strg+B eingeführt
8. Sprung a angeklickten Función Per Strg+Clic se automáticamente para entsprechenden Proc oder Def gesprungen, sofern esta en el gleichen Expediente son.
9. Bugfixes Yo habe no todos Fixes dokumentiert aber a el Quelltextformatierung z.B. bin Yo eigentlich siempre otra vez veces dran y vermutlich Yo el Liste hier incluso Features unterschlagen |
|
|
| |
|
|
|
Georg Teles | Sehr muy bien endlich kann Yo todos Compiler en una ProfED Directorio zusammenlegen
Sven Bader (28.09.2021)
Sí, mein X4 Installationspfad es merkwürdig
zumindest hast du no 5 Editoren
Línea 2767 ( ShowToolbar(0) ) debería vllt a Línea 2910 movido voluntad Das Ventana principal es como todavía no sichtbar, sodass el Suchbutton el Toolbar bastante link erscheint, oder es sólo en me así ?
Grüße |
|
|
| |
|
|
|
Georg Teles | Kleiner Apéndice: Ab el Línea 2316 debería 6 Tiempo una + "\\" + zwischen AppData y ProgSprache abgeändert voluntad
(Línea 2316 a einschließlich Línea 2335 adaptado folgen
'$IFDEF VER14.0
RegKlasse$ = $AppDataDir + "\\" + ProgSprache$ + "\\" + pp$ + "\\" + ProgName$ + ".cfg"
' Falls neue Konfigurationsdatei todavía no existiert, alte Expediente a neue Punto kopieren
Caso negativo FileExists(RegKlasse$)' Cfg-Expediente es todavía no en el AppData-Directorio
Caso negativo DirExists($AppDataDir + "\\" + ProgSprache$ + "\\" + pp$ )' ggf. Directorio invertir
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"
' Falls neue Konfigurationsdatei todavía no existiert, alte Expediente a neue Punto kopieren
Caso negativo FileExists(RegKlasse$)' Cfg-Expediente es todavía no en el AppData-Directorio
Caso negativo DirExists( AppData() + "\\" + ProgSprache$ + "\\" + pp$ )' ggf. Directorio invertir
MkDir AppData() + "\\" + ProgSprache$ + "\\" + pp$
EndIf
EndIf
'$ENDIF
Sonst se un directorio ...\Users\ <User> \ AppData\RoamingXProfan neu creado en lugar de en el Directorio \AppData\Roaming\XProfan\... gespeichert
Grüße |
|
|
| |
|
|
|
Sven Bader | Gracias para el Feedback, Georg!
Mit el Pfaden hast du bastante, en el $AppDataDir schient ya una Backslash drinnen a ser pero en AppData() fehlte él. Das hatte sicher para el una u otros Durcheinander gesorgt.
Mit el Suchbutton Tuve kein Problema pero mag a el Punto zeitkritisch a ser, deine Solución debería also helfen Tuve una Weile gebraucht, el Búsqueda hay unterzubringen, sin el ellos otra vez verschwindet, el Solución hier war SetParent()
En con stürzt el Editor todos 1-2 Stunden de, el Ventana no es redibujar y el Syntax-Highlighting reagiert no mehr. Leider kam Todavía no detrás de él, si sólo a el Tiempo liegt oder a cierto Nutzungsverhalten. El Fehlersuche gestaltet se hier schwierig, evtl hast du una Concepto, cómo hacerlo Debuggen kann. Sei en cada Fall gewarnt, y mache una Backup deiner Fuente, a denen du arbeitest. |
|
|
| |
|
|
|
Georg Teles | Ahja genau
Yo schaue lo me genau a, si en me gleiche Phänomen después de 1-2 h auftritt El Suchfunktion es en cada Fall muy hilfreich muss Yo sagen
Config Yo hier veces hochgeladen con deinen Farbeinstellungen, el Pfade (Incluir, X4 y Alternative) müssten sólo adaptado voluntad
Descargar
(kopieren después de: ...\Users\<USER>\AppData\Roaming\XProfan\Verzeichnis_trägt_PFAD_zum_XProfEDSE)
Grüße |
|
|
| |
|
|
|
Sven Bader | Super, danke!
Meinst du con el Suchfunktion el Schnellsuche en el Toolbar o Möglichkeit, Zeilenumbrüche a sustituir?
Was Yo auch todavía no bastante durchschaue, es el Verbiegen el Pfade en Interpreter y fertigem Programa o por qué en el Interpreter el Syntax-Hightlighting nada va. |
|
|
| |
|
|
|
Sven Bader | Un neue Versión es online, hauptsächlich son lo Bugfixes: -Pfad para Guardar el Einstellungen war teilweise no korrekt -Codeformatierung para ASM / ENDASM -Prüfung auch en ausgewogene eckige Klammern -Klammernausgewogenheit ignorieren, si Línea en \ endet -Upper/Lower y Hex-Umwandlung por Kontextmenü -"Andere Tabs schließen" -Características y Codesnippets por Kontextmenü, vorerst Stringfunktionen y Profano2CPP-Direktiven -Incluir-Archivos de el Treeview auch klickbar, si zuletzt una Expediente en un otro Pfad geöffnet wurde -Markiertes Wort en el Búsqueda -Mehrfaches Öffnen uno Expediente no mehr posible, stattdessen se el Tab cambiado |
|
|
| |
|
|
|
Sven Bader | So, nun macht el Arbeit con XProfed SE correcto Spaß:
Neu en Versión 2.0
-Icons en Tabs -Schließen-Button para Tabs -Parallele Konfiguration para a a 10 Profanversionen inkl. Profano2Cpp via aP2CCOMP -1-Clic Wechsel des Compilers en Toolbar -Ayuda a eigenen Procs: Anzeige el Parámetro en el Statusbar -Menüpunkte: Ayuda de para XProfan11, X2, X3, Profano2CPP si disponible -Visuelle Verbesserungen (Cursor en el Darkmode, Farbe el Auswahl) -Schnellere Codeformatierung -Verbesserter y deutlich schnellerer Aufbau el Navigation (Treeview y Liste) -Integration de WinMerge en Fuente a vergleichen, Auswahl oder todo Archivos -Umfangreiche Versionierung/Sicherung de Quelltexten -Verbessertes Undo-Comportamiento para Codeformatierung, Ein/Ausrücken etc sólo todavía una Undo-Schritt -Bugfixes -Weitere kleine Verbesserungen |
|
|
| |
|
|
|
Georg Teles | Sehr muy nice
habe Propuestas a Fenstergröße / -positionierung en no deseado Werten oder Bildschirmen, el lo z.B. no mehr son (z.B. en una externo Monitor gearbeitet entonces abgeklemmt y Programa comenzó).
Defs después de Headereinbindung:
Bildschirmdaten lesen, en el el hWnd comenzó wurde y KorrekturProc:
'{ Monitor Zusatz:
' -------------------
Declarar rcMonitor#,rcWork#,mon#
Struct MONITORINFO = cbSize&,rcMonitor#(16),rcWork#(16),dwFlags&
Struct RECT = left&,top&,right&,bottom&
Dim rcMonitor#,RECT
Dim rcWork#,RECT
Dim mon#,MONITORINFO
mon#.cbSize& = SizeOf(mon#)
'}
Proc mbm
Declarar mpos#,x1&,y1&,wix&,wiy&
Dim 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&)
caso x1&<Largo(mon#,20):x1&=Largo(mon#,20)
caso x1&>Largo(mon#,28)-(%winRight - %winLeft):x1&=Largo(mon#,28)-(%winRight - %winLeft)
y1&=(long(mpos#,4)+wiy&)
caso y1&<Largo(mon#,24):y1&=Largo(mon#,24)
caso y1&>Largo(mon#,32)-(%winBottom - %winTop):y1&=Largo(mon#,32)-(%winBottom - %winTop)
setWindowPos %hWnd=x1&,y1& - (%winRight - %winLeft),(%winBottom - %winTop);0
SetFocus(%HWnd)
Disponer mpos#
ENDPROC
Ab Línea 572 en el Original Programmende, ungewollte Fensterzustände auskommentieren, como el Proc mbm dies übernimmt y DisPose mon#:
Proc ProgrammEnde
'----------------
Declarar Archivos$, PE_X&, PE_Y&, PE_DX&, PE_DY&
Geändert(1, 0)
ShowWindow(%hWnd,0)
Conjunto("Decimals",0)
If ~IsZoomed(%hWnd)
WriteIni RegKlasse$,RegPfad$,"MAX" = 1
Más
WriteIni RegKlasse$,RegPfad$,"MAX" = 0
EndIf
' Auslesen el Normalen Fenstergröße
PE_X& = gWindowData(0)
PE_Y& = gWindowData(1)
PE_DX& = gWindowData(2)
PE_DY& = gWindowData(3)
' Ungewollte Fensterzustände ausfiltern
'Case ((PE_X& < 0) Or (PE_X& > %MaxX)):PE_X& = %MaxX / 20
'Case ((PE_Y& < 0) Or (PE_Y& > %MaxY)):PE_Y& = %MaxY / 20
'Case ((PE_DX& < 540) Or ((PE_DX& + PE_X&) > %MaxX)) : PE_DX& = %MaxX - %MaxX / 10
'Case ((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&
Archivos$ = ""
WhileLoop 0,MaxTab%
Case Expediente$[&bucle] > "" : Archivos$ = Archivos$ + Expediente$[&bucle] + ";"
EndWhile
WriteIni RegKlasse$,RegPfad$,"Dateien" = Archivos$
LDat#.SaveList()
' Aufräumen
Editar#[0].Destroy()
Disponer Editar#[]
Disponer LDat#
Disponer mon#
DeleteObject DFont&
FreeDLL seDll&
ENDPROC
Ab Línea 3147 en el Original, DX & DY eventuell fixe Mindestgröße geben (hier x=500 y=400), habe z.B. 32:9 Bildschirm, como va el Ventana a 3.456 px en el horizontale ... X% y Y% ignorieren, como con el Proc mbm el Position automáticamente korrigiert se.
' Ventana redactar
' -----------------
Conjunto("ErrorLevel",0)' Warnungen beim ersten Programmstart ausblenden
X$ = ReadIni$(RegKlasse$,RegPfad$,"X")
X% = Val(X$)
'Case (%Error > 0) or (X$ = "") or (X% < 0) or (X% > 32767) : X% = %MaxX / 20
Y$ = ReadIni$(RegKlasse$,RegPfad$,"Y")
Y% = Val(Y$)
'Case (%Error > 0) or (Y$ = "") or (Y% < 0) or (Y% > 32767) : Y% = %MaxY / 20
DX% = Val(ReadIni$(RegKlasse$,RegPfad$,"DX"))
Case (%Error > 0) or (DX% < 500) or (DX% > 32767) : DX% = 500'%MaxX - %MaxX / 10
DY% = Val(ReadIni$(RegKlasse$,RegPfad$,"DY"))
Case (%Error > 0) or (DY% < 400) or (DY% > 32767) : DY% = 400'%MaxY - %MaxY / 10
Max% = Val(ReadIni$(RegKlasse$,RegPfad$,"MAX"))
Case (%Error > 0) : Max% = 0
Dateien$ = ReadIni$(RegKlasse$,RegPfad$,"Dateien")
Case (%Error > 0) : Archivos$ = ""
Ab Línea 3773 en el Original: en maximalen Ventana es X & Y egal, como dieses en el aktuellen Bildschirm maximiert se y zwangsläufig = 0 beträgt (theoretisch) ... en no maximierten Ventana kommt el automatische Corrección Proc mbm para Einsatz
Ab Línea 2909 en el Original: Was todavía aufgefallen es, el SuchEdit y SuchButton beim erststart en el selben Punto starten, como el Fenstergröße nun siempre korrigiert se, puede ser el Position de Anfang a 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 el Búsqueda, genial con el "\n" Búsqueda, funktioniert muy bien el Schalter, si él vorwärts oder rückwärts sucht muss desafortunadamente en el Ventana Suchen 1x betätigt voluntad, así el "Schnellsuche" also en el Editar vorwärts oder rückwärts sucht.
Genial, dass du el Schalter para Versionen a Profano 6 hinzugefügt hast el se el una oder andreren dazu zwingen, neue Verzeichnisstruktur en XProfan vorzunehmen hehe ... habe auch extra dafür profX2, profX3 y profX4 Verzeichnisse seit deinem ersten SE Edtor creado, wo el Interpreter, Kompiler, Linker y Runtime drin mentira ... XProfed entonces extra en el Directorio darüber
Grüße Georg |
|
|
| |
|
|
|
Sven Bader | Gracias para dein ausführliches Feedback. El Fenstergrößen muss Yo otra vez anschauen, habe desafortunadamente incluso sólo 16:10 Monitor aber dafür zwei, por qué Yo el con el Ausschalten zumindest testen kann. Der "Poweruser" bekommt el Ventana en efecto bastante ligeramente otra vez con Windows + Pfeiltaste dorthin, wo él lo möchte.
Suchfeld y Suchbutton a gleicher Position pensamiento Yo es egal, como cada Start mindestens una vez el Subclass a Änderung el Fenstergröße aufgerufen se aber una korrekte Position de Anfang a kann no schaden.
Mit el Vor- y Rückwärtssuche bin Yo auch todavía no zufrieden.Yo habe ya algunos Verbesserungen daran vorgenommen pero yo denke Yo voluntad otra vez sin Meldung "im Kreis" suchen dejar y sí, el Schnellsuche debería al besten unbeeindurckt de los Einstellungen des Suchfensters ser.
In el aktuellen "Beta" Yo folgendes Comportamiento eingefügt: -Im Explorer angeklickte Archivos abierto en el ya offenen XProfan SE-Ventana -XProfan SE lässt zwar todavía cualquier oft abierto, läd aber sólo en el ersten Instanz el zuletzt geöffneten Archivos -Lo dejar se mehrere Archivos gleichzeitig encima el Explorer abierto -Drag&Drop unterstützter Dateityp es posible (como Ziel desafortunadamente aktuell sólo el linke Spalte oder Kopfbereich, el Editor ha el Drop-Target no angenommen) |
|
|
| |
|
|