【问题标题】:Code Highlight and cursor position in a StructuredTextEditorStructuredTextEditor 中的代码突出显示和光标位置
【发布时间】:2013-03-21 18:12:36
【问题描述】:

我自己的插件项目有一个编辑器(它实现了 org.eclipse.ui.part.MultiPageEditorPart),它有 2 个页面:一个是 GraphicalEditorWithFlyoutPalette(它将 XML 文件解析为图形),另一个是一个是 StructuredTextEditor(它将图形解析为 XML 代码)。所以我想做的是在第一个编辑器中绘制图形并在另一个编辑器中获取源代码并执行相反的操作。而且我相信很多 GEF 和插件/RCP 项目都可能有这个功能。

现在我不得不面对这样一个事实,当我尝试在两个编辑器之间切换时,光标总是停留在源编辑器的第一行。我应该得到的是,如果一个数字被 选中 在第一个编辑器中,当我切换到第二个编辑器时,一些代码块应该突出显示(就像 Eclipse 中的大纲视图一样),或者至少光标应该停留在相应 XML 块开始的行(只是就像 Eclipse 中的 XML 编辑器)

有人可以提供一些有用的建议吗? 非常感谢:-)

【问题讨论】:

  • 不完全是您问题的答案,但您至少应该知道有些框架可以让构建这种编辑器变得更加容易。我建议你可以看看 Sapphire (eclipse.org/sapphire),这样你就可以专注于实现你正在编辑的文件的语义,而不是编辑器页面如何同步的细节。

标签: eclipse eclipse-rcp eclipse-plugin eclipse-gef


【解决方案1】:

在 GEF 编辑器中,您可以使用 SelectionEditPolicy 的 showSelection 方法收听选择更改。当您的选择更改时,将调用此方法。在该方法中,您可以更改光标在第二个编辑器上显示的位置(或设置某种共享变量,以便编辑器在激活时读取)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-15
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多