java - Eclipse插件IConsole vs View

标签 java eclipse view eclipse-plugin

我的问题:与将我的控制台放在 View 中相反,使用 Eclipse ConsoleManager 类的优势是什么。

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

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

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

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

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

Eclipse ConsoleManager 一定是有充分理由的,它是什么?使用它的主要原因/优势是什么?

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

实现 IConsole 的优势:

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

实现 IConsole 的缺点:

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

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

最佳答案

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

关于java - Eclipse插件IConsole vs View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20936087/

相关文章:

java - libgdx 剪切图像

java - 使用 AST 调用方法并传递默认参数

java - connection.getMetaData 似乎没有返回表信息

ios - Swift:如何等待事件然后切换 View ?

android - Android 游戏的 View 与 SurfaceView

java - Intellij IDEA 模块依赖

java - JDO - 未从数据库检索字符串列表

java - 使用静态对象的第二个非静态引用时出现 NullPointer 异常

java - 使用 tcp/ip 监视器监视 eclipse 上的其余调用

android - 索引在 addView() 中重要吗?