我想编写一个插件,它与Eclipse中当前编辑的文件做了一些事情.但我不确定如何正确获取文件的完整路径.
这就是我现在所做的:
IFile file = (IFile) window.getActivePage().getActiveEditor.getEditorInput().
getAdapter(IFile.class);
Run Code Online (Sandbox Code Playgroud)
现在我有一个IFile对象,我可以检索它的路径:
file.getFullPath().toOSString();
Run Code Online (Sandbox Code Playgroud)
然而,这仍然只给我相对于工作空间的路径.我怎样才能从中得到绝对的路径?
我正在编写一个插件来解析项目中的一堆文件.但目前我一直在寻找Eclipse API寻找答案.
插件的工作方式如下:每当我打开源文件时,我都会让插件解析源代码的相应构建文件(这可以通过缓存解析结果进一步开发).获取文件很简单:
public void showSelection(IWorkbenchPart sourcePart) {
// Gets the currently selected file from the editor
IFile file = (IFile) workbenchPart.getSite().getPage().getActiveEditor()
.getEditorInput().getAdapter(IFile.class);
if (file != null) {
String path = file.getProjectRelativePath();
/** Snipped out: Rip out the source path part
* and replace with build path
* Then parse it. */
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我必须使用硬编码字符串作为源文件和构建文件的路径.任何人都知道如何从Eclipse中检索构建路径?(顺便说一下,我在CDT工作).还有一种简单的方法来确定源文件的源路径(例如,"src"目录下的一个文件)是什么?
关于Eclipse PDE开发的问题:我为Eclipse编写了一个小插件,并且有以下*org.eclipse.ui.texteditor.ITextEditor *一个行号
如何自动跳转到该行并标记?遗憾的是,API似乎只支持文档中的偏移量(参见:ITextEditor.selectAndReveal()),但没有行号.
最好的是 - 尽管这不起作用:
ITextEditor editor = (ITextEditor)IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), file, true );
editor.goto(line);
editor.markLine(line);
Run Code Online (Sandbox Code Playgroud)
这有可能以某种方式吗?我找不到解决方案
我正在尝试创建一个插件,它会给我一个在eclipse中打开的项目中所有文件的绝对路径列表.
我试过但我只能得到活动窗口的路径..
我的行动代码是:
IWorkbenchPart workbenchPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
IFile file = (IFile) workbenchPart.getSite().getPage().getActiveEditor().getEditorInput().getAdapter(IFile.class);
if (file == null)
try {
throw new FileNotFoundException();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String path = file.getRawLocation().toOSString();
System.out.println("path: " + path);
Run Code Online (Sandbox Code Playgroud)
这里我只获取活动窗口的路径.但是我想要项目中所有文件的绝对路径列表..主要是src文件夹下的文件...
如果我能以同样的方式做到这一点,请指导我,还是需要使用一些不同的API.
如标题所述,我没有包裹名称或信息.我有一个IProject句柄和一个表示IFile名称的String.
IFile是一个.java类文件,IProject是一个Java项目.理想情况下,我想在不假设它们是Java文件/项目的情况下这样做 - 但我的目的是假设是可行的.有什么建议?
我正在研究一种基于Eclipse 3.x api的RCP应用程序产品.现在我们尝试将其移至Eclipse 4.x. 我们在代码中使用了一些内部类.我已经阅读了Vogella提供的关于从3.x迁移到Eclipse 4.x的教程,但我仍然没有得到如何开始.
我们想利用新的Eclipse功能,我的主要问题是我们的旧代码中有很多视图,布局,所以应该遵循的方法应该是什么.还有一种方法可以使用3.x API从我的旧应用程序创建应用程序模型.
我陷入困境,没有得到如何继续.