Nach meiner bisherigen Einschätzung wird das trotzdem noch eine Schreib- oder Kopierorgie.
Das sehe ich zwar anders, aber deine Anforderungen sind schon sehr speziell (so speziell zumindest, daß ich sie zumindest bisher noch nicht vermisst hätte) und da ist natürlich ein
speziell darauf abgestimmtes Tool nicht zu toppen.
Nur mal als schnelle Idee, wie ich etwas vergleichbares mit MMX realisieren würde (für ein Video habe ich gerade keine Zeit). Ich würde halt ganz anders anfangen. Ausgehend von zwei
leeren Units:
- die Klasse anlegen (MMX-Dialog, Code-Template oder von Hand)
- die Properties in den Klassen anlegen (der MMX-Dialog erlaubt bereits unterschiedliche, auch selbst definierte Implementierungen)
- die Properties in MMX markieren
- über (MMX-)Refactorings - Extract Interface das Interface erzeugen
- den Interfacenamen dabei gleich in die Zwischenablage kopieren
- und nach einem Komma in die Klassendeklaration kopieren
- das Interface per MMX-Cut/Paste in die andere Unit verlagern
- falls noch nicht geschehen die andere Unit per Ctrl-U (MMX) oder Alt-F11 (IDE) usen
Bei geschickt gewählten Default-Einstellungen sind in den MMX-Dialogen kaum Eingaben nötig (Name von Klasse/Property/Interface, Typ des Properties geht in der Regel per Auto-Complete mit 1-2 Tasten). Das sind vergleichbar viele (eher weniger) Eingaben als in deinem Beispiel zu machen sind. Allerdings kann man in beiden Fällen mit Code-Templates eventuell noch was rausholen. Es gibt ein Copy/Paste (Name des Interfaces) und ein Cut/Paste (Interface in andere
Unit) für jedes Interface.
Eine automatische Synchronisierung der Parameter ist dort leider nicht vorgesehen. Allerdings genügt hier analog zum Beschriebenen ein simples Copy/Delete/Paste der betroffenen Properties bzw. Methoden um das wieder zu synchronisieren. Das ist natürlich nicht so schnell und komfortabel wie deine Speziallösung, aber es ist ja auch nicht gerade und ausschließlich dafür gedacht. (Was nicht heißt, daß es sowas in Zukunft nicht bekommen könnte)
Aber natürlich bleibt dein Tool für dich immer die bevorzugte Wahl. Schließlich baust du es ja auch genau nach deinen Bedürfnissen.