我是開發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等效項。 –