Probleme und Vorschläge zu Textmarkierung, Textsuche & Co

Für Fragen rund um die Ide und zum Debugger
Antworten
br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

Probleme und Vorschläge zu Textmarkierung, Textsuche & Co

Beitrag von br_klaus »

Wenn in den Einstellungen die Blocks auf persistent gesetzt sind, dann schafft das einige Unannehmlichkeiten bei der Textsuche.
(Vielleicht ist das eine oder andere inzwischen schon behoben worden. Habe noch die alte Version von Lazarus)
 
Text suchen bei block = persistent
- Such-Wiederholung: wenn irgendwo ein Block markiert ist, dann funktiert nicht ^L. Ich muß dann erst mit ^K,H den Block unsichtbar machen (oder ^K,b oder k so dass Blockende < Blockanfang), dann funktioniert es.
Wohl aber geht die Wiederholung mit ^F.
 
Text suchen / markieren
- Ich vermisse: IF(N)DEF – ELSE/ENDIF: Bereiche markieren bzw Sprung zu Beginn/Ende dieser Bereiche (selbst wenn sie nicht kompiliert werden würden).
Dann könnte man leichter sehen, wo vielleicht ein ENDIF fehlt bzw zu viel ist.
Und man kann sich dann auch leichter einen eigenen Text der Unit bzw. des Projektes zusammenstellen, der genau auf die eigenen Bedürfnisse (OS-System etc.) zugeschnitten ist.
Vielleicht auch ein kleines Programm dazu zu den LazarusTools geben...
(Suche vielleicht mit ALT + I, I bzw E)
- ^Q,K bzw b ( springen zu begin bzw end) funktioniert anscheinend nur im gerade kompilierten Bereich, nicht außerhalb
 
Textmarker:
- da geht nur ein Marker je Zeile. Es wäre gut, wenn da Platz für mehrere wäre (dann halt entsprechend den linken Rand verbreitern)
- Ich würde vorschlagen, gleich fest zu implementieren: Shift ^ K, 0..9 = Marker 0..9 setzen.
Beim ToggleMarker 0..9 passiert sonst leicht, dass beim Wiederholen des Makros, anstatt einen Marker zu setzen, dieser gelöscht wird
 
Block markieren:
- wenn nicht persistent, dann wird Block durch Del gelöscht, ebenso mit ^V der Block durch den einzufügenden Text ersetzt. Jetzt aber nicht mehr. Da muß man erst mit ^K,y den markierten Block löschen. Das ist sehr unpraktisch.
Auch wenn in den Einstellungen Block überschreiben gesetzt ist, wird er nicht überschrieben. (Es wäre praktisch, den ab Cursorposition zu überschreiben, mit dem einzufügenden Block).
Man könnte auch durch Betätigung der Taste Insert diese Option setzen lassen
- zur Bezeichnung: Warum „anderes“ Blockende suchen (es gibt doch nur eines...)
besser wäre m.E. auch: „Cursor zum Blockanfang /-ende“ oder „zum Blockanfang /-ende springen“ (passt m.E. auch besser in die Kategorie Cursorsteuerung
- Vorschlag: Persistent an/aus : eigener ShortCut (Shift^B ?)
 
Textauswahl:
- Bezeichnung „Bereich einschließen“: wäre da nicht auch besser: „Block einschließen“ (sonst wird ja auch überall nur von Block gesprochen)
 
Statusbar:
- Bitte auch Angabe der Taste NumLock, wenn diese aktiviert wird (bei meinem Computer kann ich da zB nichts sehen, da leuchtet kein Lämpchen auf...)
 
Einstellungen – Tastaturabfrage
- Taste fangen: da wäre praktisch für jede der 4 Tasten-Buttons ein eigener ShortCut (zB Alt,1..4)

martin_frb
Beiträge: 586
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Probleme und Vorschläge zu Textmarkierung, Textsuche & Co

Beitrag von martin_frb »

- Such-Wiederholung: wenn irgendwo ein Block markiert ist, dann funktiert nicht ^L. Ich muß dann erst mit ^K,H den Block unsichtbar machen (oder ^K,b oder k so dass Blockende < Blockanfang), dann funktioniert es.
Wohl aber geht die Wiederholung mit ^F.
Funktioniert hier...

Text suchen / markieren
- Ich vermisse: IF(N)DEF – ELSE/ENDIF: Bereiche markieren bzw Sprung zu Beginn/Ende dieser Bereiche (selbst wenn sie nicht kompiliert werden würden).
Dann könnte man leichter sehen, wo vielleicht ein ENDIF fehlt bzw zu viel ist.
Und man kann sich dann auch leichter einen eigenen Text der Unit bzw. des Projektes zusammenstellen, der genau auf die eigenen Bedürfnisse (OS-System etc.) zugeschnitten ist.
Vielleicht auch ein kleines Programm dazu zu den LazarusTools geben...
(Suche vielleicht mit ALT + I, I bzw E)
- ^Q,K bzw b ( springen zu begin bzw end) funktioniert anscheinend nur im gerade kompilierten Bereich, nicht außerhalb
Die Idee Ifdef/Endif wie begin/end hervorzuheben (wenn unter caret) hab ich mir mal vorgemerkt. Allerdings steht sowieso noch aus alle nicht aktiven Bloecke "aus-zu-grauen" (low-light). Und dann waere das nicht mehr so wichtig....
All das ist allerdings derzeit noch lang hin....

Das springen zwischen begin/end macht codetools. Kann ich nix zu sagen.
Textmarker:
- da geht nur ein Marker je Zeile. Es wäre gut, wenn da Platz für mehrere wäre (dann halt entsprechend den linken Rand verbreitern)
- Ich würde vorschlagen, gleich fest zu implementieren: Shift ^ K, 0..9 = Marker 0..9 setzen.
Beim ToggleMarker 0..9 passiert sonst leicht, dass beim Wiederholen des Makros, anstatt einen Marker zu setzen, dieser gelöscht wird
Es gibt "set marker n". Da muss man nur ne Tastatur kombo zuweisen.
Nur ein Marker pro zeile hat sich als recht praktisch durchgesetzt.

Ueber einen Patch der zusätzlich "add Marker" Kommandos definiert kann man aber reden.
- wenn nicht persistent, dann wird Block durch Del gelöscht, ebenso mit ^V der Block durch den einzufügenden Text ersetzt. Jetzt aber nicht mehr. Da muß man erst mit ^K,y den markierten Block löschen. Das ist sehr unpraktisch.
Auch wenn in den Einstellungen Block überschreiben gesetzt ist, wird er nicht überschrieben. (Es wäre praktisch, den ab Cursorposition zu überschreiben, mit dem einzufügenden Block).
Man könnte auch durch Betätigung der Taste Insert diese Option setzen lassen
Das ist so gewollt.
Der Cursor kann ja irgendwo sein (muss nicht am block seien). Ein kompliziertes Wenn/dann ist definitiv nicht gewollt.
- Vorschlag: Persistent an/aus : eigener ShortCut (Shift^B ?)
Patch willkommen

Du versuchst persistente Bloecke fuer etwas zu nutzen, fuer das sie nicht vorgesehen sind. Das was du zu machen versuchst geht eben derzeit nicht.

Das gesamte Makro Zeug hat noch einen langen weg vor sich....
Bezeichnung „Bereich einschließen“: wäre da nicht auch besser: „Block einschließen“ (sonst wird ja auch überall nur von Block gesprochen)
Keine Ahnung wer die ubersetzungen macht.

Antworten