Eclipse 插件从当前打开的文件中获取代码

2022-01-16 00:00:00 eclipse-plugin java eclipse

如何从 Eclipse 中以 StringString[] 返回的当前打开文件获取代码?我正在制作的插件需要这个.

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());

相关文章