gpt4 book ai didi

java - Eclipse 插件可精细监控编辑器更改

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:41 31 4
gpt4 key购买 nike

因此,我希望为 Eclipse 4.2 开发一个插件,用于监视用户对其文件所做的编辑。

这是我的第一个 Eclipse 插件,为了做好准备,我浏览了 Eclipse 插件开发备忘单 (HelloWorld) 并在 help.eclipse.org 上花了很多时间查看文档和 API。我想我对我需要什么工具有一些想法,但我不确定如何将这些工具放在一起来完成我想做的事情。

期望的结果:有一个插件可以随时了解添加到 (Java) 编辑器的每个新字母以及任何和所有删除。这包括 Eclipse 所做的事情(自动完成变量、花括号)以及用户键入的内容。

可能有帮助的工具:我认为 IResourceChangeListener 会有所帮助,因为它为我提供了一个 IResourceChangeEvent,并且具有可访问的 < strong>IResourceDelta 表示工作区更改。此外,由于编辑器扩展了 EditorPart,我认为向相关编辑器添加 IPropertyChangeListener 可能也很有用。

我认为我有合适的工具,但我不知道如何按照我的意愿组装它们。

问题:
上面列出的工具是否适合这项工作?
如何获取所有已打开或将要打开的编辑器的列表并向其添加监听器?
有关学习如何对 Eclipse 插件进行编程的资源的任何其他提示?

最佳答案

是也不是。 IResourceChangedListener 将在资源(文件)更改时触发。在大多数编辑器中,这对应于用户保存文件。

要接近实时地监控输入,一种方法是使用 MonoReconciler 在用户闲置 0.5 秒后捕获缓冲区变化。这就是 JDT 的工作原理。

现在,如果您是 EditorPart 的创建者,这一切都很容易。根据您希望监视的编辑器,您需要获取其 IDocument 并适本地添加监听器。查看documentation .就其值(value)而言,IIRC Java 编辑器使用 ProjectionDocument

关于java - Eclipse 插件可精细监控编辑器更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11485082/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com