2

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

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

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

4

3 回答 3

2

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

于 2012-01-27T04:30:40.743 回答
1

开始 Eclipse 插件开发可能会让人有点不知所措。

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

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

代码:

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 脚本。

于 2012-02-03T23:13:50.920 回答
0

Eclipse 中没有用于输入用户信息的扩展点。为此,您通常根据特定用例使用对话框或视图。

于 2012-01-26T20:18:11.343 回答