我创建了一个插件,用于查询所选项目名称&路径并在启动时在视图中显示它。以下是我如何查询所选项目的代码:
IStructuredSelection selection = (IStructuredSelection) window.getSelectionService().getSelection();
Object firstElement = selection.getFirstElement();
if (firstElement != null) {
if (firstElement instanceof IAdaptable) {
IProject project = (IProject) ((IAdaptable) firstElement).getAdapter(IProject.class);
IPath path = project.getFullPath();
IPath location = project.getLocation();
}
}
如果项目已更改(用户选择任何其他项目)或所选项目已关闭,我该如何收到通知?
答案 0 :(得分:0)
您应该只使用ISelectionService添加一个ISelectionListener。还有一篇关于该主题的好文章 - > https://eclipse.org/articles/Article-WorkbenchSelections/article.html
对于项目状态更改,您必须添加IResourceChangeListener。
IWorkspace #addResourceChangeListener(IResourceChangeListener,int)
答案 1 :(得分:0)
看看
https://eclipse.org/articles/Article-WorkbenchSelections/article.html
1)创建自己的实现ISelectionChangedListener的类。
2)在您要收听的选择提供者上调用addSelectionChangedListener(ISelectionChangedListener yourListener):
window.getSelectionService().addSelectionChangedListener(yourListener)
3)处理您的选择事件