Я работал над реализацией функции сравнения структур и слияния текстового файла через инфраструктуру сравнения eclipse.
Через эту ссылку FAQ у меня есть общее представление о том, как это сделать. И это более подробное руководство помогло мне лучше понять, как реализовать просмотрщик структуры, используя StructureCreator
.
Таким образом, в основном я расширил точку расширения structureCreators
и создал свой собственный StructureCreator
, используя древовидную структуру из результата анализа текстового файла. Да, наш специальный языковой формат в текстовом файле может быть преобразован в древовидную структуру. И до сих пор я вижу правильные структурные различия двух файлов в виде дерева в верхней части всего окна сравнения.
Однако моя проблема в том, что когда я дважды щелкаю узел дерева, он не отображает различия узлов в двух панелях в нижней части окна. Он просто ничего не отображает, а не как при сравнении двух файлов Java в затмении.
Я думаю, что эта проблема как-то связана с общим документом, как говорится в руководстве:
Для ввода на основе текста клиенты должны создавать подклассы StructureCreator
учебный класс. Это позволит использовать общий документ между несколькими
Редакторы открываются в том же файле. Подклассы StructureCreator, которые
обеспечить подсветку синтаксиса должны реализовать как
методы getDocumentPartitioner () и getDocumentPartitioning90 для
поддержка общих документов.
Однако я не знаю, где что-то пошло не так. Нужно ли расширять больше точек расширения, таких как structureMergeViewers
, чтобы это работало, или просто добавить больше вещей в подкласс StructureCreator
, чтобы сделать это правильно?
И если я хочу поддержать подсветку синтаксиса, что еще мне нужно сделать? Приведенные выше инструкции слишком просты для подражания.
Хотелось бы, чтобы некоторые эксперты по затмению с таким опытом помогли мне с этим. Спасибо!