2009-05-26 3 views
6

Ich habe ein kleines IDE-Plug-In mit der Open Tools-API erstellt, die auf ClearCase zugreift. Es hat Menüpunkte "Einchecken", "Auschecken", etc. Es funktioniert OK, aber ich möchte es eine schreibgeschützte Datei automatisch auschecken, wenn ich im IDE-Editor eingeben oder versuche, die Datei zu speichern. Denkst du, dass das möglich ist?So erkennen Sie, ob die Datei in der IDE mithilfe der Open Tools-API bearbeitet wird

Ich versuchte ein paar Dinge, gab aber schließlich auf. IOTAEditorServices.KeyboardServices hat die AddKeyboardBinding-Methode, die vielversprechend aussah. Ich habe einen Notifier mit dem Bindungstyp btPartial (und später mit btComplete) hinzugefügt und das Plug-in hat angefangen, einige Tastaturkürzel zu drücken, aber nicht alle Tastaturereignisse, weit davon entfernt ... Alle Ideen wären sehr willkommen!

+0

Haben Sie Ihr Problem gelöst? Ich würde gerne deinen Code sehen. Ich habe gerade eine ähnliche Frage gestellt: http://stackoverflow.com/questions/6670621/how-to-hook-a-method-to-the-edit-event-in-delphi-7-ide – neves

+0

@neves: Sie sollten sich besser auf [TOndrej] (http://stackoverflow.com/users/11480/tondrej) 's [answer] (http://stackoverflow.com/a/909485/744588) unten konzentrieren. Vermutlich ist 'user112365' nicht mehr lebendig und tritt auf SO. – menjaraz

Antwort

1

Ich muss irgendwie möglich sein: wir verwenden SourceConexion (http://www.epocalipse.com/scx.htm) hier, die die Datei auscheckt, bevor Sie die Quelle bearbeiten oder das Formular ändern.

JVCs hat IDE-Integration Unterstützung, es Open Source ist, vielleicht haben sie dies auch umgesetzt: http://jedivcs.sourceforge.net/

7

Ich denke, ein „sauberer“ Weg, um eine IOTAEditorNotifier zu jedem Editor anschließen und haben Ihre IOTAEditor.Modified Methode aufgerufen von der IDE, wenn der Inhalt des Editors geändert wird, sei es per Tastatur, Maus oder programmatisch von einem anderen Plugin.

Here ist ein Beispiel, das eine IOTAIDENotifier registriert, um benachrichtigt zu werden, Dateien in der IDE geöffnet werden, damit es seine IOTAEditorNotifier Instanzen registrieren kann.

+0

Vielen Dank. Klingt wie das sollte funktionieren. Ich werde es versuchen und Sie später wissen lassen, höchstwahrscheinlich am Freitag. –

+0

@ user112365 Haben Sie das jemals herausgefunden? Ich habe es versucht, aber das Problem ist, dass schreibgeschützte Dateien nicht geändert werden können. So wird der IOTAEditor.Modified nie gefeuert. – santiagoIT

+0

@santiagoIT Ich denke, Sie können das schreibgeschützte Flag aus dem Bearbeitungspuffer entfernen, auch wenn die Datei selbst schreibgeschützt ist. –

Verwandte Themen