Eclipse 插件从当前打开的文件中获取代码
如何从 Eclipse 中以 String
或 String[]
返回的当前打开文件获取代码?我正在制作的插件需要这个.
How can I get the code from the current open file in Eclipse returned in a String
or String[]
? I need this for a plugin I'm making.
假设我有以下代码:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
如果我打开了 HelloWorld.java,如何在 String[]
中返回该代码?String[]
将包含:
If I have HelloWorld.java open, how do I get that code returned in a String[]
? The String[]
would contain:
- 公共类 HelloWorld {"
- "public static void main(String[] args) {"
- "System.out.println("你好,世界!");"
- }"
- }"
推荐答案
要获取当前编辑文件的内容,您可以这样做:
To get the currently edited file's content you can do something like that:
IWorkbenchPart workbenchPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
IFile file = (IFile) workbenchPart.getSite().getPage().getActiveEditor().getEditorInput().getAdapter(IFile.class);
if (file == null) throw new FileNotFoundException();
String content = IOUtils.toString(file.getContents(), file.getCharset());
相关文章