1
在RCP應用程序中,我想創建一個Common Navigator Framework視圖,僅從本地文件系統上的資源開始。Eclipse RCP:沒有IDE插件的CNF是否需要自定義ContentProvider?
我已經在一個項目中完成了這項工作,其中包括org.eclipse.ui.ide插件。但是,這會創建一個過於複雜且不適合此應用程序的UI。 (例如,它增加了大約20個偏好面板,其中一些與構建和版本控制相關聯。)
所以現在我試圖做到這一點,沒有〜.ide插件 - 沒有org.eclipse .ui.navigator.resources取決於它的插件。
在RCP應用程序,我已經成功地創建一個新的工作區項目(我認爲)用下面的代碼中,如下所示的〜navigator.viewer擴展插件。但CNF視圖中沒有任何內容出現。
問題:
- 因爲我不包括org.eclipse.ui.navigator.resources插件,我需要定義自己的內容提供商?
- 是在org.eclipse.ui.navigator.resources插件用來實現內容綁定org.eclipse.ui.navigator.resourceContent類ResourceExtensionContentProvider?
的plugin.xml摘錄
<extension
point="org.eclipse.ui.navigator.viewer">
<viewerActionBinding
viewerId="com.mycompany.app.gen.workspace">
<includes>
<actionExtension pattern="org.eclipse.ui.navigator.resources.*" />
</includes>
</viewerActionBinding>
<viewerContentBinding
viewerId="com.dnastar.app.gen.workspace">
<includes>
<contentExtension pattern="org.eclipse.ui.navigator.resourceContent" />
<contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"/>
<contentExtension pattern="org.eclipse.ui.navigator.resources.linkHelper"/>
<contentExtension pattern="org.eclipse.ui.navigator.resources.workingSets"/>
</includes>
</viewerContentBinding>
</extension>
代碼用於創建一個新的項目(完整包含):
Path path = new Path(sPath);
File filePath = new File(sPath);
String fileBaseName = filePath.getName();
String projectName = fileBaseName; // For now
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IProjectDescription projDescr = workspace.newProjectDescription(projectName);
projDescr.setLocation(path);
IWorkspaceRoot root = workspace.getRoot();
IProject project = root.getProject(projectName);
try {
project.create(projDescr, null);
if (! project.isOpen()) {
project.open(null);
}
} catch (CoreException e) {
MessageDialog.openError(Display.getCurrent().getActiveShell(),
"New Project Error", "Could not create new project." + "\n[" + e + "]");
}
仍然沒有得到任何東西顯示在導航窗口中。 SubClassed CommonNavigator,並在getInitialInput()中返回ResourcesPlugin.getWorkspace()。getRoot()。在plugin.xml中,將CommonNavigator視圖的類替換爲子類。感謝您的幫助。我錯過了什麼? – 2011-04-14 14:33:31
不,這應該可行。你有沒有在工作區的任何項目?如果是這樣,我建議你在Eclipse Bugzilla中引發一個bug。 – 2011-04-14 17:40:59
我需要在某處提供自定義標籤提供程序嗎? – 2011-04-14 21:18:46