如何使用Open Tools API检测IDE中的文件是否正在编辑

时间:2009-05-26 04:33:27

标签: delphi ide opentools

我使用Open Tools API创建了一个访问ClearCase的小型IDE插件。它有菜单项“Check In”,“Check Out”等。它工作正常,但是如果我开始在IDE编辑器中输入或者我试图保存文件,我希望它自动检出一个只读文件。你认为这是可能的吗?

我尝试了一些事情但最终放弃了。 IOTAEditorServices.KeyboardServices具有看起来很有前景的AddKeyboardBinding方法。使用它我添加了一个带有绑定类型btPartial的通知程序(后来尝试了btComplete)并且插件开始检测一些快捷键按下但不是所有键盘事件,远离它...任何想法都将非常感激!

2 个答案:

答案 0 :(得分:8)

我认为一种“更清洁”的方法是将IOTAEditorNotifier连接到每个编辑器,并且只要通过键盘,鼠标修改编辑器的内容,就可以通过IDE调用IOTAEditor.Modified方法或者从另一个插件编程。

Here是一个示例,它注册一个IOTAIDENotifier以通知在IDE中打开的文件,以便它可以注册其IOTAEditorNotifier个实例。

答案 1 :(得分:1)

我必须以某种方式可能:我们在这里使用SourceConexion(http://www.epocalipse.com/scx.htm),在编辑源代码或更改表单之前自动检出文件。

JVCS有IDE集成支持,它是开源的,也许他们也实现了这个: http://jedivcs.sourceforge.net/