Java 在Eclipse中获取编码更改(实时)

Java 在Eclipse中获取编码更改(实时),java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我正在尝试使用一个插件来监听eclipse中的codechanges。在Eclipse中,我发现了以下侦听器: IResourceChangeListener 但它似乎在保存文件时更新,而不是在写入文件时更新。是否有可能让这些变化“生效” 编辑:我所说的代码更改是指在eclipse编辑器中编辑文件的内容。基本上,当您键入某个内容时,我需要的是事件校准;) EDIT2:我的代码如下所示: plugin.xml: <extension point="org.eclipse.cor

我正在尝试使用一个插件来监听eclipse中的codechanges。在Eclipse中,我发现了以下侦听器:

IResourceChangeListener
但它似乎在保存文件时更新,而不是在写入文件时更新。是否有可能让这些变化“生效”


编辑:我所说的代码更改是指在eclipse编辑器中编辑文件的内容。基本上,当您键入某个内容时,我需要的是事件校准;)

EDIT2:我的代码如下所示:

plugin.xml:

<extension
     point="org.eclipse.core.resources.fileModificationValidator">
  <fileModificationValidator
        class="packages.in.project.MyFileModificationValidator">
  </fileModificationValidator>
什么是“代码更改”?。。。因为您的用例不是很清楚,前提是您对物理资源的更改(保存时)不感兴趣

“代码更改”是源文件内容在内存中的任何更改吗?如果是这样的话,答案是否定的。我可以编写一个程序来读取一个文件,对内存中的内容做一些事情,如果我没有提供这样做的机制,你不会注意到


在简历中,一切都取决于谁访问,以及他们是否提供了一种机制来通知他们正在进行“代码更改”,无论这对你意味着什么。对于物理资源的更改,Eclipse通知您是正确的,为了了解这些更改,
IResourceChangeListener
界面是正确的选择。

IResourceChangeListener
是一个良好的开端。您可以使用它来检测对工作区资源的更改

您还应该研究如何实现
FileModificationValidator
。文件修改验证器是一个与团队相关的钩子,用于修改文件内容的预检查操作。您可以同时实现
validatedit
validateSave

得到答案;)

我使用IDocumentListener来 在编辑器中获取更改

@Override
public void documentChanged(DocumentEvent event) {
    //...
}

您希望如何处理更改通知?可能是Java编辑器提供了一种更好的方法来完成您想要的任何事情。@greg-449我想将更改发送到服务器;)我无法使验证器工作:/I保存时收到此消息,但没有任何结果
!ENTRY org.eclipse.core.resources 412013-11-2416:36:33.270!消息fileModificationValidator扩展点中必须定义0或1个验证程序扩展。
确保您已正确注册验证程序。看,看起来不错。当然,您应该返回一个有效的状态NOTNULL。还可以看看这里:IWorkspace.validateEdit(…)它提供了许多额外的细节。添加了返回值,但仍收到错误消息。我必须在其他地方注册Vilidator吗?
@Override
public void documentChanged(DocumentEvent event) {
    //...
}