【发布时间】:2014-09-22 15:42:11
【问题描述】:
我正在创建一个 Eclipse 插件,它需要检索在当前工作区窗口中打开的所有文件的路径/文件名。
我编写的代码成功检索了当前打开的 java 文件的文件名,但无法检索所有其他文件类型(如 xml、jsp、css 等)的路径/文件。
我目前使用的代码是:-
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorReference[] ref = page.getEditorReferences();
List<IEditorReference> javaEditors = new ArrayList<IEditorReference>();
//Checks if all the reference id's match the active editor's id
for (IEditorReference reference : ref) {
if ("org.eclipse.jdt.ui.CompilationUnitEditor".equals(reference.getId())){
javaEditors.add(reference);
}
}
if(javaEditors != null){
for(IEditorReference aRef : javaEditors){
System.out.println("File info: " + aRef.getName());
}
}
我需要帮助的是 - 在当前打开的工作区/编辑器中检索所有打开的文件(任何文件类型)的(文件路径 + 文件名)。上面的代码只能让我得到在当前编辑器中打开的 Java 类的文件名。
【问题讨论】:
-
请注意,并非每个编辑器都会与实际文件相关联,或者仅与 1 个文件相关联。一些编辑器可能正在处理 a) 根本没有文件(由文件以外的东西支持的“逻辑”结构),或 b) 多个文件。 @greg-449 的答案只返回 null;根据您的要求,您可能需要做其他事情。
标签: java eclipse eclipse-plugin