Eclipse 3.6为封闭项目创建了temlate代码

时间:2017-10-13 07:11:00

标签: java eclipse templates eclipse-plugin

我使用Eclipse 3.6开发OpenEdge。由于特定原因,我需要未指定的模板变量。我有$ {time},$ {date}等,但我需要其他人。所以我反编译模板类并开发成它们(org.eclipse.text_3.5.0.v20100601-1300.zip \ org \ eclipse \ jface \ text \ templates \ GlobalTemplateVariables.class)。

我需要将当前项目名称插入模板中(在JAVA中)。

Projects image

我目前通过获取所有正在运行的任务来解决这个问题,并且从标题中我获得了确切的字符串(tasklist.exe / fo csv / nh)。这不是最好的,但它确实有效。 问题是,在Windows 10上,这个命令非常慢,所以我必须找出另一种从模板代码中获取当前项目名称的方法。

我试过了:

IWorkbench wb = PlatformUI.getWorkbench();
IWorkbenchWindow win = wb.getActiveWorkbenchWindow();
IWorkbenchPage page = win.getActivePage();
IEditorPart editor = page.getActiveEditor();
...
...
...

但它崩溃了,我无法调试它。

还有另一种方法可以从Eclipse 3.6中的模板代码中获取当前项目吗?

由于

更新:我尝试通过此方法处理任何异常:

        PrintWriter writer;
        try {
            writer = new PrintWriter("c:\\Progress\\ProjectResources\\aaaa" +  ".txt", "UTF-8");
            writer.println("I've come this far");
            writer.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   

        try {

            IWorkbench wb = PlatformUI.getWorkbench();
            IWorkbenchWindow win = wb.getActiveWorkbenchWindow();
            IWorkbenchPage page = win.getActivePage();
            IEditorPart editor = page.getActiveEditor();
            return "faja";
        } catch (Exception e){

            try {
                writer = new PrintWriter("c:\\Progress\\ProjectResources\\aaaa" +  ".txt", "UTF-8");
                writer.println(e.getMessage());
                writer.close();
            } catch (FileNotFoundException ex) {
                // TODO Auto-generated catch block
                ex.printStackTrace();
            } catch (UnsupportedEncodingException ex2) {
                // TODO Auto-generated catch block
                ex2.printStackTrace();
            }   

        }

我已经在文件中写了第一条“消息”(aaaa.txt - >“我到目前为止”)但不是第二条(e.getMessage())。日志中没有任何内容,屏幕上没有任何内容,我刚创建的文件中没有任何内容。

0 个答案:

没有答案