Поскольку платформа предусматривает стандартную базовую модель элементов отладки, ее можно использовать в качестве начальной точки для реализации пользовательского интерфейса отладчика. В основе поддержки пользовательского интерфейса отладчика лежит оформление модели отладки (IDebugModelPresentation). Оформление модели отладки описывает метки, изображения и редакторы, связанные с конкретными элементами отладки.
Модули, определяющие собственные модели отладки, как правило, предоставляют отдельное оформление модели отладки для отображения элементов отладки. Для этого применяется точка расширения org.eclipse.debug.ui.debugModelPresentations. Она позволяет связать реализацию IDebugModelPresentation с идентификатором конкретной модели отладки.
Обратите внимание, что элементы модели отладки могут могут возвратить идентификатор исходной модели отладки. Таким образом, для любого элемента отладки платформа может получить идентификатор модели отладки и запросить в реестре расширения соответствующее оформление.
Текст на языке описания, позволяющий добавить оформление модели отладки, выглядит следующим образом:
<extension point = "org.eclipse.debug.ui.debugModelPresentations"> <debugModelPresentation class = "org.eclipse.jdt.internal.debug.ui.JDIModelPresentation" id = "org.eclipse.jdt.debug" detailsViewerConfiguration = "org.eclipse.jdt.internal.debug.ui.display.DetailsViewerConfiguration"> </debugModelPresentation> </extension>
Помимо оформления модели отладки можно указать дополнительный атрибут detailsViewerConfiguration. Программа просмотра сведений должна расширять класс JFace SourceViewerConfiguration. Значение термина "сведения" интерпретируется непосредственно моделью отладки. Сведения обрабатываются оформлением модели отладки и передаются соответствующей программе просмотра. Например, отладчик Java применяет программу просмотра сведений в ходе вычисления выражений для отображения помощника по работе с исходным кодом на панели переменных.
Если требуются дополнительные возможности управления редактором, отображающим содержимое кадра стека, помимо IDebugModelPresentation можно также реализовать IDebugEditorPresentation. При этом становится возможным указывать отображаемый участок кадра и комментарии.