如何在IDE中跟踪编辑器修改和行位置更改?

时间:2014-04-16 22:31:37

标签: delphi toolsapi otapi

我正在编写一个跟踪特定行的IDE插件 - 认为它类似于IDE的内置书签功能。当用户编辑源代码时,特定行的位置会发生变化 - 例如,当按下Enter键时,行100可能变为行101。用户还可以删除行,一次选择和删除多个块,粘贴大块文本等,所有这些都会改变代码。

我想跟踪行插入和删除,以便知道“行100”变为“行101”,然后是“行102”,依此类推。这怎么可能?


我到目前为止找到的最接近的解决方案是使用INTAEditServicesNotifier.EditorViewModified,每次修改时都可以访问整个缓冲区。然后可以使用前一个缓冲区的存储副本对整个缓冲区进行区分,以查看有哪些更改,并查看添加或删除了多少新行以及在哪里。

这是每个编辑器修改的巨大的开销量,并且必须有更好的方法。

0 个答案:

没有答案