gpt4 book ai didi

java - 实现 ISelectionListener 以监视项目资源管理器中的选定项目

转载 作者:行者123 更新时间:2023-11-30 09:32:57 24 4
gpt4 key购买 nike

我正在尝试在我的 eclipse 插件中实现一个 ISelectionListener,它将跟踪我的项目资源管理器中的选择并告诉我选择了哪些项目。所以它与构建工具栏按钮找出每次选择要构建的项目的方式相同。我实现了那个监听器,但只有当用户点击实际项目而不是项目下的任何其他项目(如源代码、文件夹、包......)时,我才能选择项目我的代码是:

    @Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
Object[] allselections= null;
selectedProjects.clear();
// TODO Auto-generated method stub

if(selection instanceof IStructuredSelection) {
//Object element = ((IStructuredSelection)selection).getFirstElement();
allselections = ((IStructuredSelection)selection).toArray();
for(Object element: allselections){

if (element instanceof IResource) {
selectedProjects.add(((IResource)element).getProject());

}
}
};

当元素不是 IResource 实例并且是 CModelManager、来自 CDT 的 cSource/cxxSource ......以及任何其他可以成为项目一部分的元素时,是否有通用的方法来获取它所属的项目?

对于 IResourceChangeListener,您可以使用 IResourceDeltaVisitor,然后您可以使用以下方法将所有内容作为 IResource 实例获取:在 visit(IResourceDelta delta) 函数中使用 IResource resource = delta.getResource()。 ISelectionListener 是否有类似的东西?

最佳答案

关于java - 实现 ISelectionListener 以监视项目资源管理器中的选定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12410640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com