我将构建一个eclipse rcp。在这个上下文中,我将在这个rcp中添加一些视图。视图将是项目资源管理器视图,编辑器与eclipse ide一样。并且会有一些与我的项目相对应的其他视图。除此之外,我还有一个数据库表,其中文件与其路径一起保存。所以事情是:如果用户点击一个文件,那么我将获取文件的路径或将其保存到变量中,以便我可以将所选文件的路径与数据库表的现有文件进行比较...所以他们不会是另一种观点,谁会使用这个我希望我能更好地解释我的问题
我的问题是。在eclipse ide的项目浏览器视图中。如果你点击一个文件,那么我想得到这个文件的路径。任何人都知道我怎么能得到一个文件的路径项目exlporer。或者这个路径保存在任何地方,所以我可以从这个地方获取文件的路径。
我将尝试用这个例子解释我的问题:
如果我点击文件:abc.java
和项目资源管理器中的abc.java文件的路径是例如:Example / src / abc.java
我的问题是:
在哪里可以找到文件abc.java的路径,或者这个路径是保存在哪里的?
或更好:
如果我点击abc.java文件 我怎样才能获得这个abc.java的路径,将此路径用于其他主题。
提前谢谢
答案 0 :(得分:1)
您使用ISelectionService
获取当前选择:
ISelectionService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService();
ISelection selection = service.getSelection();
if (selection instanceof IStructuredSelection)
{
Object selected = ((IStructuredSelection)selection).getFirstElement();
IFile file = (IFile)Platform.getAdapterManager().getAdapter(selected, IFile.class);
.... use file
}
当前选择将在任何视图或编辑器当前处于活动状态。您还可以在特定视图中向选择服务询问当前选择。
答案 1 :(得分:0)
最终,答案是你需要选择一个IFile。然后你可以使用getFullPath()向IFile询问它的路径。见http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fcore%2Fresources%2FIFile.html
但是你需要为这个问题提供更多的背景信息。你有弹出菜单动作正在通过选择吗?您是否正在从其他视图注册选择侦听器?或完全不同的东西?基本上,您需要告诉我们您所处的环境以及您可以获得的数据。
答案 2 :(得分:0)
我将构建一个eclipse rcp。 在这个上下文中,我将在这个rcp中添加一些视图。视图将是项目资源管理器视图,编辑器与eclipse ide一样。并且会有一些与我的项目相对应的其他视图。除此之外,我还有一个数据库表,其中文件与其路径一起保存。所以问题是:如果用户点击一个文件,那么我将获取文件的路径或将其保存到变量中,以便我可以将所选文件的路径与数据库表的现有文件进行比较... 所以他们不会是另一种观点,谁会使用它 我希望我能更好地解释我的问题
感谢