如何将用户输入的功能添加到我的eclipse插件中?

时间:2012-01-26 19:13:46

标签: java eclipse user-interface plugins pde

我正在eclipse中开发一个插件,它可以生成一个文本文件(基于用户输入)并可以触发一个perl脚本。我可以轻松地创建一个简单的插件(如Hello World),我可以添加新的菜单和命令。我理解这些事情是如何相互关联的,但我遇到的地方是用户输入。

如何让用户输入他的选择?我的意思是我应该用什么扩展点来问他?我找不到任何可以要求用户输入数据的内容。一旦我可以让他输入所需信息,我就可以轻松访问该信息以继续进行。

PLZ。注意:这是我第一次进入在线社区,所以我试图在我的描述中尽可能彻底。我是eclipse的新手,对Java有非常基本的了解。我在Mark Dexter的网上学习了一些Java课程。我对C ++有着扎实的理解和工作经验。

3 个答案:

答案 0 :(得分:2)

继续我上面的评论(抱歉,无法符合600个字符的评论限制,所以我将其添加为您问题的可能答案) - 快速搜索引导我这样做 - {{3 }}。您可以使用操作轻松添加由插件处理的工具栏按钮,菜单项等。简而言之,这就是您将功能插入工作台的方式。我建议查看上面的链接以获得更好的理解。至于收集输入,你可以使用JFace对话框(http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse% 2Fjface%2Fdialogs%2FDialog.html)。有许多预先设定的对话框,您可能会发现它们很有用,因此我建议您进行更多研究,以了解哪些内容最适合您的用例。祝你好运!

答案 1 :(得分:1)

启动Eclipse插件开发可能有点压倒性。

排序答案: 我假设您已使用“hello,world命令”模板创建了一个新的插件项目。如果没有,你可以很容易地做到。它将帮助您入门。在这个示例项目中,eclipse为您创建了一个简单的菜单贡献。我不打算详细介绍,但实际上,您创建了一个命令(org.eclipse.ui.commands)并将其与工作台中的某个位置相关联,如菜单或工具栏图标(org.eclipse.ui.menus) )。然后你需要创建一些能够处理这个命令的东西,就像它执行时一样(用户点击菜单)。这是由处理程序(org.eclipse.ui.handlers)完成的,处理程序是您希望代码进入的时间。

  1. 打开插件中的“plugin.xml”文件,然后导航到“扩展”部分
  2. 展开“org.eclipse.ui.handlers”分支并选择唯一的“(处理程序)”项。
  3. 点击编辑器右侧的“class”链接,它将引导您进入生成的类。
  4. 您的代码转到“执行”方法。这是用户执行命令时将运行的内容。在您的情况下,如果您想要输入,可以使用输入对话框:
  5. 代码:

    public Object execute(ExecutionEvent event) throws ExecutionException {
           InputDialog dlg = new InputDialog(
              HandlerUtil.getActiveShellChecked(event), "Title",
              "Enter text", "Initial value", null);
          if (dlg.open() == Window.OK) {
            // User clicked OK; run perl
            String input = dlg.getValue();
            // TODO:do something with value
          }
          return null; 
     }  
    

    不要求用户输入您需要显示对话框的输入。我建议你阅读这个很好的教程:http://www.vogella.de/articles/EclipseDialogs/article.html,它详细描述了这一点。

    长期的答案是查看http://www.vogella.de/articles/EclipsePlugIn/article.htmlhttp://www.vogella.de/articles/EclipseCommands/article.html以查看Eclipse RPC和命令背后的基础知识。

    最后,您还需要查看http://www.vogella.de/articles/EclipseJobs/article.html以了解如何运行更长的任务,例如您正在谈论的perl脚本。

答案 2 :(得分:0)

Eclipse中没有用于输入用户信息的扩展点。为此,您通常使用对话框或视图,具体取决于具体的用例。