![]() |
Case-Labels automatisch ergänzen
Hallo!
Ich hatte mal vor längerer Zeit eingestellt, dass bei case-Anweisungen auf Enum-Variablen die Case-Labels automatisch ergänzt wurden. Dann habe ich das aus irgendeinem Grund abgestellt und nun finde ich die Option nicht mehr wieder. Ich bin mir auch nicht sicher, ob das von der IDE selbst gemacht wurde oder von einem Addon. Derer hätte ich CnPack, GExperts und MMX im Angebot. Grüße Cody |
AW: Case-Labels automatisch ergänzen
Diese "Funktion" ist ein Live-Template.
Ansicht > Tool-Fenster > Vorlagen |
AW: Case-Labels automatisch ergänzen
Zitat:
|
AW: Case-Labels automatisch ergänzen
Liste der Anhänge anzeigen (Anzahl: 2)
Jupp, genau das macht dieses Template. :zwinker:
Anhang 55947 Eventuell hast du in den Einstellungen die Templates auch komplett deaktiviert. [F6] "template" , auf Delphi umstellen und siehe Code Insight (dürfte "Programmierhilfe" sein) Anhang 55948 Hat du wirklich
Delphi-Quellcode:
geschrieben,
case MyVar of[enter]
oder nicht doch
Delphi-Quellcode:
worauf ein Platzhalter/Eingabefeld für die Variable und das "of" auftauchten
case[leerzeichen]
und nach dem Enter wurde die Eingabe der Variable abgeschlossen. Auf das Stichwort (template name) "case" wird
Delphi-Quellcode:
geschrieben, von dir der Typ/Variable abgefragt und via RTTI in der Funktion PopulateCase die Enums geholt (darum "Live" und nicht nur Template).
case {type} of {enums} end;
XML-Code:
<?xml version="1.0" encoding="utf-8"?>
<codetemplate version="1.0.0" xmlns="http://schemas.borland.com/Delphi/2005/codetemplates"> <template name="case" invoke="auto"> <point name="expression"> <script language="Delphi"> InvokeCodeCompletion; </script> <text> True </text> <hint> case-Ausdruck </hint> </point> <point name="cases" editable="false"> <script language="Delphi" onenter="false" onleave="true"> PopulateCase(|expression|); </script> </point> <description> case-Anweisung </description> <author> Embarcadero </author> <code language="Delphi" context="methodbody" delimiter="|"><![CDATA[case |expression| of |end||*||cases| end; ]]> </code> </template> </codetemplate> |
AW: Case-Labels automatisch ergänzen
Muss dazu nicht dioe BPL mit der SCriptingEngine installiert sein?
|
AW: Case-Labels automatisch ergänzen
Zitat:
Jedenfalls ist diese Funktion im Delphi von Haus aus vorhanden. @Codehunter schau doch mal nach, ob es in einem unverstellten Delphi funktioniert. :angle:
Delphi-Quellcode:
und nach dem Test, kann HKEY_CURRENT_USER\SOFTWARE\Embarcadero\Test0323 gelöscht werden
bds.exe -rTest0323
|
AW: Case-Labels automatisch ergänzen
@Himitsu: Du hast völlig recht. Ich hatte aus irgendeinem Grund die Templates komplett abgeklemmt und den Zusammenhang vergessen. Jetzt funktioniert es wieder. Ich muss nun abwarten ob mir irgendwann auch wieder einfällt, warum ich die abgeklemmt hatte. Vermutlich hat sich da irgendwas mit den installierten Addons gehackt.
Danke erstmal soweit, Frage damit geklärt :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz