没有Presentation Reconciler的语法着色

Pau*_*ert 4 eclipse-plugin editor text-coloring

我想在不使用演示协调程序的情况下在Eclipse中进行着色.因此,首先,我需要弄清楚如何将TextPresentation对象与我的编辑器或文档相关联,但我很难找到如何将它们链接起来.通常,IPResentationReconciler接口中的CreatePresentation会为textpresentation提供样式范围,从那里Eclipse将知道如何处理该表示对象.有没有办法在不使用PresentationReconciler的情况下使用TextPresentation对象?如果我可以在不使用协调器的情况下进行着色,那将是很好的.谢谢.

Pau*_*ert 5

我终于想出了如何在不使用Reconcilers的情况下实现着色.我发现首先我需要一种方法来获取对SourceViewer对象的引用,因为我正在扩展TextEditor.我还发现我可以实现TextListener接口并将自己的侦听器添加到SourceViewer对象.但是,必须要小心,因为如果没有在适当的位置调用,调用getSourceViewer()方法会导致null.最初,我在编辑器类中覆盖了init(...)函数并进行了getSourceViewer()调用,但它仍然导致null.在做了一些研究之后,我发现我可以通过覆盖createPartControl方法来正确获取对SourceViewer对象的引用.我首先调用super.createPartControl(...),然后调用getSourceViewer().在我获得该参考后,我在我创建的监听器类中使用了它,并且能够使用SourceViewer对象具有的setTextColor方法自己进行着色.希望这能帮助其他人处于同样的境地.