Plugins Eclipse插件开发:如何向编辑器添加功能

Plugins Eclipse插件开发:如何向编辑器添加功能,plugins,eclipse-pde,eclipse-plugin,Plugins,Eclipse Pde,Eclipse Plugin,我最近几天一直在尝试扩展默认编辑器(java、xml,所有这些)功能 我想做的是在每个编辑器的侧面添加一个带有文本的大标尺 例如: 默认编辑器页面如下所示: |-----------| |source | |code | | | |-----------| 但我希望是这样 |------|----| |source| | |code |line| | |text| |------|----| 此外,我不能使用视图,因为标尺中的文本对应

我最近几天一直在尝试扩展默认编辑器(java、xml,所有这些)功能

我想做的是在每个编辑器的侧面添加一个带有文本的大标尺

例如: 默认编辑器页面如下所示:

|-----------|
|source     |
|code       |
|           |
|-----------|
但我希望是这样

|------|----|
|source|    |
|code  |line|
|      |text|
|------|----|
此外,我不能使用视图,因为标尺中的文本对应于某一行,必须与源代码一起滚动

我尝试通过实现IEditorActionDelegate来实现这一点 因为我不想要一个新的编辑器,但要添加功能,但我找不到任何解决方案


我想提到的是,为了将我的解决方案付诸实践,我扩展了AbstractContributeRulerColumn

public class MyRuler extends AbstractContributedRulerColumn {
 ....
}

我想您正在寻找扩展点
org.eclipse.ui.workbench.texteditor.rulerColumns
。在文本编辑器中显示行号的组件是使用此点添加的,因此也可以添加其他信息

API文档中的示例:

<extension
  point="org.eclipse.ui.workbench.texteditor.rulerColumns">
  <column
    id="org.eclipse.ui.editors.columns.linenumbers"
    name="Line Numbers"
    class="org.eclipse.ui.internal.texteditor.LineNumberColumn"
    enabled="false"
    global="true"
    includeInMenu="false">
    <placement
       gravity="0.9">
       <after id="org.eclipse.ui.editors.columns.annotations"/>
    </placement>
    <targetClass
       class="org.eclipse.ui.texteditor.AbstractDecoratedTextEditor">
    </targetClass>
  </column>
</extension>

给出了一些很好的建议,但我还是花了一段时间才想出如何编写一个插件,在编辑器旁边添加一列文本

我只在每行后面显示带有“x”的行号。在此过程中,我发现了一些有用的资源:

  • 这个示例实际上只是一小部分代码,它们被委托埋在一堆兼容性的东西中

在使用标尺列扩展点一段时间后,我了解了
org.python.pydev.pydev\u pyedit\u侦听器
扩展点,该扩展点允许您拦截pyedit创建事件并围绕它包装其他控件。一些挖掘,让我添加另一个窗格的权利与分裂,我。主要优点是,您可以选择新显示器的显示位置,您可以使用任何您喜欢的控件,如果显示器中有太多文本,用户可以滚动。

hmm,看起来很有希望,我会试试看是否可以添加文本。哇,很好,我很想给您10票,但我只能给您一票:(太棒了-我只能同意Ha11owe的观点,我已经努力尝试了很长一段时间