Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Shortcut für InterfaceImplementierung gesucht (https://www.delphipraxis.net/181909-shortcut-fuer-interfaceimplementierung-gesucht.html)

TBx 17. Sep 2014 11:12

Shortcut für InterfaceImplementierung gesucht
 
Moin,

gibt es in der IDE (ich setze XE6 ein) einen Shortcut, der mir aus
Delphi-Quellcode:
TMyObj= class(TObject, IUnknown)
end;
dieses
Delphi-Quellcode:
TMyObj= class(TObject, IUnknown)
  function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
  function _AddRef: Integer; stdcall;
  function _Release: Integer; stdcall;
end;
macht?

Der schöne Günther 17. Sep 2014 11:16

AW: Shortcut für InterfaceImplementierung gesucht
 
Wenn du innerhalb deines Klassendefinitionsblocks [STRG]+[Leer] drückst schlägt er dir die zu implementierenden Interface-Methoden vor.

TBx 17. Sep 2014 11:19

AW: Shortcut für InterfaceImplementierung gesucht
 
Na, das ist ja schonmal ein Anfang. Ich bin da aber mit einem Copy und Paste aus der Interfacedefinition dann doch noch schneller unterwegs :-(

Der schöne Günther 17. Sep 2014 11:34

AW: Shortcut für InterfaceImplementierung gesucht
 
Bei mehr als zwei Methoden tue ich das auch. Denn etwas besseres kenne ich leider auch nicht.

Die Refactoring-Methoden kennen zwar ein "Interface extrahieren" aber leider kein "Interface realisieren".

DeddyH 17. Sep 2014 12:34

AW: Shortcut für InterfaceImplementierung gesucht
 
Ich sehe, ich bin nicht der Einzige, der so eine automatische Vervollständigung sucht bzw. vermisst :)

Union 17. Sep 2014 12:45

AW: Shortcut für InterfaceImplementierung gesucht
 
Zitat:

Zitat von TBx (Beitrag 1272867)
Na, das ist ja schonmal ein Anfang. Ich bin da aber mit einem Copy und Paste aus der Interfacedefinition dann doch noch schneller unterwegs :-(

Das glaube ich nicht, Tim. Du kannst nämlich in dem Dropdown auch mehrere Methoden markieren.

Der schöne Günther 17. Sep 2014 15:04

AW: Shortcut für InterfaceImplementierung gesucht
 
Potzblitz! :firejump:

Wieder was gelernt.

Aviator 17. Sep 2014 21:13

AW: Shortcut für InterfaceImplementierung gesucht
 
Zitat:

Zitat von Union (Beitrag 1272876)
Das glaube ich nicht, Tim. Du kannst nämlich in dem Dropdown auch mehrere Methoden markieren.

Haha, das wusste ich auch noch nicht. Auch wenn ich es nicht wirklich brauche, interessant ist es dennoch. :thumb:

jaenicke 17. Sep 2014 22:09

AW: Shortcut für InterfaceImplementierung gesucht
 
Was etwas nervt ist dabei, dass die Cursorposition ignoriert wird und die Stelle selbst gewählt wird, an der die Methoden dann in der Klassendeklaration eingefügt werden.
Aber nutzen tue ich die Möglichkeit dennoch häufig...

Aviator 17. Sep 2014 22:12

AW: Shortcut für InterfaceImplementierung gesucht
 
Zitat:

Zitat von jaenicke (Beitrag 1272928)
Was etwas nervt ist dabei, dass die Cursorposition ignoriert wird und die Stelle selbst gewählt wird, an der die Methoden dann in der Klassendeklaration eingefügt werden.

Das ist wohl wahr. Ist mir auch direkt aufgefallen, als ich es ausprobiert hatte. Hab dann 2x draufgedrückt und plötzlich bekam ich dann Fehler angezeigt. Plötzlich wurden dann 200 Zeilen tiefer im protected Bereich die Methoden eingefügt.

mquadrat 18. Sep 2014 06:56

AW: Shortcut für InterfaceImplementierung gesucht
 
Vielleicht kommen ja in XE8 mehr Inspections (so nennen sich die Dinger zumindest in den JetBrains IDEs) dazu. "Add unimplemented methods" bei Interfaces oder abstrakten Basisklassen ist ja nicht so schwer zu machen. JetBrains macht da schon sehr schicke Sachen.

TBx 18. Sep 2014 09:03

AW: Shortcut für InterfaceImplementierung gesucht
 
Zitat:

Zitat von mquadrat (Beitrag 1272938)
Vielleicht kommen ja in XE8 mehr Inspections (so nennen sich die Dinger zumindest in den JetBrains IDEs) dazu. "Add unimplemented methods" bei Interfaces oder abstrakten Basisklassen ist ja nicht so schwer zu machen. JetBrains macht da schon sehr schicke Sachen.

Ja, sowas kenne ich von Eclipse auch. Dadurch bin ich überhaupt zu der Frage gekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:46 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