【问题标题】:Eclipse plug-in IConsole vs ViewEclipse 插件 IConsole vs View
【发布时间】:2014-01-23 00:54:12
【问题描述】:

我的问题:与将控制台放在视图中相反,使用 Eclipse ConsoleManager 类有什么好处。

我在 java 中创建了自己的控制台(REPL),并希望将其与 Eclipse 集成。我知道有两种方法:

  • 创建一个插件视图并在其中显示我自己的文本窗格。 启动它的示例代码:

    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().
        showView(REPL_PLUGIN_ID, project.getName(), IWorkbenchPage.VIEW_ACTIVATE);
    
  • 创建一个插件,实现IConsole接口并使用ConsoleManager添加。 启动它的示例代码:

    ConsolePlugin.getDefault().getConsoleManager().addConsoles(myConsoles)
    

由于我已经实现了控制台,因此我更喜欢查看部分。我并不不愿意实现 IConsole(以及所有其他所需的接口),但是,我只是看不到它的优点。

Eclipse ConsoleManager 必须存在是有充分理由的,它是什么?使用它的主要原因/优势是什么?

到目前为止我发现了什么:

实施 IConsole 的优势:

  • 支持默认控制台按钮[3]

实施 IConsole 的缺点:

  • 不支持(默认?)富文本编辑

我试图使这个问题尽可能清楚,但如果我可以详细说明/澄清任何事情,请在评论中告诉我。

【问题讨论】:

标签: java eclipse view eclipse-plugin


【解决方案1】:

优点是统一的用户体验。 Eclipse 有几个用户已经习惯的通用视图:大纲、属性、问题视图、控制台等。想象一下,如果每个人都添加自己的自定义视图而不是重用现有视图。透视图会溢出,每个透视图都包含特定任务的自定义视图(或者,单个透视图挤满了自定义视图)。因此,如果您的控制台属于控制台的概念 - 仅包含瞬态数据的任务特定(基于文本)交互 - 那么您可能应该将您的“视图”实现为控制台。

【讨论】:

    【解决方案2】:

    正如之前引用的 wiki 条目所说,控制台视图主要用于使用 System.out.print 等的 traditional 代码的简单端口。

    一些插件(例如 SVN 和 CVS 代码)使用控制台视图来提供命令的传统输出,但也提供额外的视图和对话框,以提供更多或更好的信息。

    因此,如果您从头开始开发 Eclipse 插件,我会说您创建自己的视图。希望您可以提供比控制台视图中更多的操作来操作数据。如果合适,您可以像 SVN 一样提供控制台视图。

    【讨论】:

      【解决方案3】:

      来自Eclipse.org wiki

      当这些工具移植到 IDE 中使用时,此控制台输出通常会替换为更丰富的反馈形式,例如视图、标记和装饰。但是,习惯于旧命令行输出的用户可能仍希望将此原始输出作为其他视觉反馈形式的替代方案。此类别中的工具可以使用控制台视图来编写此输出。

      在 Eclipse 3.0 之前,每个需要类似控制台输出的插件都创建了自己的控制台视图。 Eclipse 3.0 提供了一个所有插件都可以写入的通用控制台视图。该视图可以同时托管多个控制台文档,并允许用户在不同的控制台页面之间切换。

      【讨论】:

      • 谢谢,但这实际上只是说以前人们创建视图是因为没有其他方法,现在有了。不过,它并没有说哪个“更好”。或者两者的优点是什么。
      猜你喜欢
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 2013-04-21
      • 2017-11-06
      • 1970-01-01
      • 2011-10-10
      相关资源
      最近更新 更多