我是开发eclipse插件的新手。我现在面临的最大障碍是在哪里/如何从各种其他插件获取数据。我真的很难找到这方面的文档。例如Team Provider插件....Eclipse插件开发 - 从团队提供者获取信息
- 如何读取文件的svn修订版?比方说,我有一个IResourceChangeListener,并且我想跟踪一个文件的svn修订号(例如,如果用户进行了更新)。
- 如果我想询问svn是否有项目的未决更新,我该如何与eclipse团队提供者交谈?
我不知道从哪里开始...
谢谢!
我是开发eclipse插件的新手。我现在面临的最大障碍是在哪里/如何从各种其他插件获取数据。我真的很难找到这方面的文档。例如Team Provider插件....Eclipse插件开发 - 从团队提供者获取信息
我不知道从哪里开始...
谢谢!
我终于在经过数小时的搜索后发现了我正在寻找的东西。不幸的是,由于我的代表不足100人。我一直无法发布到现在....
我在这方面取得了一些进展。当我通过eclipse源代码进行灌注时,我偶然发现了这个问题。
以下代码片段监视关于启用svn的项目的所有内容。如果你保存一个文件,更新,恢复等任何接触文件或元数据的文件。我只是打印出文件/直接名称及其修订号。
颠覆版本:
final Subscriber subscriber = UpdateSubscriber.instance();
subscriber.addListener(new ISubscriberChangeListener() {
@Override
public void subscriberResourceChanged(ISubscriberChangeEvent[] events) {
for(ISubscriberChangeEvent event : events) {
UpdateSyncInfo info = (UpdateSyncInfo) subscriber.getSyncInfo(event.getResource());
System.out.println(event.getResource().getName()+" revision: "+uInfo.getLocalResource().getRevision());
}
}
});
真正的技巧是找出切入点,以获得这方面的资料:UpdateSubscriber。如果有足够的资源来找到这类信息,那将是非常好的。
Subclipse的版本:
private static final Subscriber subscriber = SVNWorkspaceSubscriber.getInstance();
private static final ISubscriberChangeListener subsciberListener = new ISubscriberChangeListener() {
@Override
public void subscriberResourceChanged(ISubscriberChangeEvent[] events) {
try {
for (ISubscriberChangeEvent event : events) {
SVNStatusSyncInfo info = (SVNStatusSyncInfo) subscriber.getSyncInfo(event.getResource());
System.out.println(event.getResource().getName() + " revision: " + info.getRepositoryRevision());
}
} catch (TeamException e) {
}
}
};
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
subscriber.addListener(subsciberListener);
}
@Override
public void stop(BundleContext context) throws Exception {
subscriber.removeListener(subsciberListener);
super.stop(context);
}
从的explore the sources开始,我们将看到他们如何执行您描述的功能。
eclipse.team
(所有VCS插件的通用模块)are available in a Git repo的来源。
另一个VCS插件(用于Git)sources for EGit也可能很有启发性。
有关在Eclipse平台团队API的一般信息,请查看帮助系统中的文档。
http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/team.htm
(如果你与认购的东西的工作,看来人根据“同步支持”提到 - >“高级功能”主题。)
的Java文档的队包也可以帮助:
如果你想用集成或以其他方式扩展Subclipse的颠覆或团队提供者,你可能有更好的运气问你在他们的论坛问题:
+1,你是一个用这条信息返回的圣人。 – cgp
感谢您的回答!为任何可能受益的人添加subclipse等效项。 –