Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Problem mit CnPack Eingabehelfer (https://www.delphipraxis.net/193768-problem-mit-cnpack-eingabehelfer.html)

Codehunter 7. Sep 2017 09:52


Problem mit CnPack Eingabehelfer
 
Moin!

Ich habe da ein ziemlich lästiges Problem mit dem Eingabehelfer vom CnPack. Wenn ich im Quelltext eingebe
Delphi-Quellcode:
if[LEERTASTE]
dann wird das vervollständigt auf
Delphi-Quellcode:
if True then
wobei das True selektiert ist. Wenn ich nun nicht aufpasse und Entf drücke sondern gleich mit
Delphi-Quellcode:
(
weiter schreibe, dann wird daraus
Delphi-Quellcode:
if (True) then
wobei nun nichts mehr selektiert ist und der Cursor hinter dem
Delphi-Quellcode:
(True)
steht. Tippe ich im Eilverfahren weiter weil ich grade gut im Fluss bin, dann kommt sowas bei raus:
Delphi-Quellcode:
if (True)A > B) and (C < D) then
.

Da kollidieren anscheinend verschiedene Eingabehelferlein von Delphi und CnPack: Einmal eine Codevervollständigung, die
Delphi-Quellcode:
if (True) then
einfügt und einmal dieses automatische Klammern schließen. Letzteres finde ich sehr nützlich, sollte also bleiben. Nur finde ich nirgends das Quelltext-Template, von dem das
Delphi-Quellcode:
if (True) then
kommt. Unter CnPack -> Optionen -> Quelltext-Eingabe-Helfer -> Einstellungen -> benutzerdefinierte Symbole gibt es zwar einen Eintrag "if", nur scheint der das nicht zu sein, zumindest ist kein Template hinterlegt.

EDIT: Ein ähnliches Problem, das genauso nervt: Wenn ich
Delphi-Quellcode:
for[Leertaste]
eingebe, dann wird das zu
Delphi-Quellcode:
for I := Low to High do
vervollständigt. Da ich aber inzwischen gerne die Syntax
Delphi-Quellcode:
for S in StringList
verwende, finde ich das ziemlich störend. Auch hier finde ich nirgends das Template für diese Codevervollständigung.

Vielleicht weiß ja hier jemand Rat. Thx!

Grüße
Cody

jaenicke 7. Sep 2017 10:04

AW: Problem mit CnPack Eingabehelfer
 
Ja, ist bei mir auch so. Das funktioniert aber z.B. in XE6 noch, in 10.1 und 10.2 nicht. Deshalb vermute ich (da bei mir die automatische Klammernergänzung im CnPack deaktiviert ist), dass es an der Integration von Castalia in Delphi liegt. Das hat ja ohnehin einige nervige Eigenschaften gehabt bevor es dann richtig integriert wurde (weshalb ich mich gewundert habe wieso das jemand freiwillig gekauft hat).

Codehunter 7. Sep 2017 10:14

AW: Problem mit CnPack Eingabehelfer
 
Das wird noch mysteriöser. Ich habe mir jetzt mal spaßeshalber im CnPack zwei benutzerdefinierte Symbole für if und for angelegt:
Delphi-Quellcode:
if | then
begin

end;
und
Delphi-Quellcode:
for | do
begin

end;
Die scheinen das Standardverhalten zu überschreiben. Insofern eigentlich schon FAST zufrieden. Es gibt nur einen kleinen Haken: Das Zeichen "|" im Template markiert die Cursorposition nach der Vervollständigung. Da ich das aber durch
Delphi-Quellcode:
if[Leertaste]
aufrufe, habe ich dann zwei Leerzeichen nach dem if stehen. Also dachte ich, biste mal clever und hab das Template abgeändert:
Delphi-Quellcode:
if| then
begin

end;
Und was passiert? Das funktioniert plötzlich gar nicht mehr und es erscheint wieder das vorherige Template
Delphi-Quellcode:
if True then
So ein Murks aber auch :-(

Marcludi 7. Sep 2017 10:26

AW: Problem mit CnPack Eingabehelfer
 
Zitat:

Zitat von Codehunter (Beitrag 1380485)
Das wird noch mysteriöser. Ich habe mir jetzt mal spaßeshalber im CnPack zwei benutzerdefinierte Symbole für if und for angelegt:
Delphi-Quellcode:
if | then
begin

end;
und
Delphi-Quellcode:
for | do
begin

end;

Was passiert denn mit
Delphi-Quellcode:
if (|) then
begin

end;
?

Dann wäre aber denke ich das Leerzeichen eventuell in der Klammer.. (wobei ich aber auch gerne in der Klammer am Anfang und Ende ein Leerzeichen stehen habe)

Aviator 7. Sep 2017 12:10

AW: Problem mit CnPack Eingabehelfer
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hast du denn die Quelltextvorlagen bei dir in den Einstellungen vom RAD-Studio ausgeschaltet? Ich habe die bei mir komplett deaktiviert, da ich damit nicht zurecht komme. Dann passiert mir ein solches Verhalten wie von dir beschrieben nicht.

Oder habe ich dein Problem falsch verstanden und du willst die Vorlagen gerne nutzen?

Einstellung siehe Screenshot.

TKanne 7. Sep 2017 19:41

AW: Problem mit CnPack Eingabehelfer
 
Zitat:

Zitat von Aviator (Beitrag 1380503)
Hast du denn die Quelltextvorlagen bei dir in den Einstellungen vom RAD-Studio ausgeschaltet? Ich habe die bei mir komplett deaktiviert, da ich damit nicht zurecht komme. Dann passiert mir ein solches Verhalten wie von dir beschrieben nicht.

Oder habe ich dein Problem falsch verstanden und du willst die Vorlagen gerne nutzen?

Einstellung siehe Screenshot.

Danke, das ist für mich der Tip des Tages! :-D
Mich hat das auch immer genervt, dass er bei if, for usw. das gleich vollständig da hinschreibt. Ich hatte auch immer gedacht, dass das von CNPack kommt und mir in den Einstellungen nen Wolf (eigentlich schon ein ganzes Rudel :o ) gesucht.

Grüße

jaenicke 8. Sep 2017 02:57

AW: Problem mit CnPack Eingabehelfer
 
Die Vorlagen finde ich schon sehr praktisch, weil man damit viel Tipparbeit spart. Ich benutze auch eigene.

Codehunter 8. Sep 2017 09:28

AW: Problem mit CnPack Eingabehelfer
 
Zitat:

Zitat von Aviator (Beitrag 1380503)
Hast du denn die Quelltextvorlagen bei dir in den Einstellungen vom RAD-Studio ausgeschaltet? Ich habe die bei mir komplett deaktiviert, da ich damit nicht zurecht komme. Dann passiert mir ein solches Verhalten wie von dir beschrieben nicht.

Oder habe ich dein Problem falsch verstanden und du willst die Vorlagen gerne nutzen?

Einstellung siehe Screenshot.

Danke, das war die Lösung! Die Vorlagen von Insight mögen für den einen nützlich sein, für mich sind sie es nicht. Was mir fehlt ergänze ich manuell in CnPack und damit bin ich jetzt sehr zufrieden.

jaenicke 8. Sep 2017 09:54

AW: Problem mit CnPack Eingabehelfer
 
Zitat:

Zitat von Codehunter (Beitrag 1380586)
Die Vorlagen von Insight mögen für den einen nützlich sein, für mich sind sie es nicht.

Das einzige was mich etwas stört ist, dass der Typ der automatisch angelegten Variablen nicht immer stimmt (bei for..in oder try..finally z.B.).

Die Templates in CodeInsightPlus (und natürlich auch die anderen Features) sind auch sehr hilfreich:
http://www.devjetsoftware.com/products/codeinsightplus/

Aviator 8. Sep 2017 10:13

AW: Problem mit CnPack Eingabehelfer
 
Zitat:

Zitat von TKanne (Beitrag 1380560)
Danke, das ist für mich der Tip des Tages! :-D
Mich hat das auch immer genervt, dass er bei if, for usw. das gleich vollständig da hinschreibt. Ich hatte auch immer gedacht, dass das von CNPack kommt und mir in den Einstellungen nen Wolf (eigentlich schon ein ganzes Rudel :o ) gesucht.

Grüße

Zitat:

Zitat von Codehunter (Beitrag 1380586)
Danke, das war die Lösung! Die Vorlagen von Insight mögen für den einen nützlich sein, für mich sind sie es nicht. Was mir fehlt ergänze ich manuell in CnPack und damit bin ich jetzt sehr zufrieden.

Freut mich, dass es geholfen hat. :thumb: :thumb: :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz