Я пишу плагин IntelliJ IDEA для сохранения сессий открытых вкладок, называемых вкладка сеанса. Этот вопрос является продолжением IntelliJ IDEA Plugin Development: сохранение групп вкладок, сохранение их настойчиво и перезагрузка набора вкладок по запросу пользователя.
В настоящее время разделенные окна не поддерживаются. Поэтому я хочу сделать две вещи:
- Получить информацию обо всех разделенных или несвязанных окнах, которые являются контейнерами для вкладок редактора. Мне нужно их положение и направление разделения (горизонтальное или вертикальное).
- Когда эта информация сохраняется и нужно загружать сеанс табуляции, мне нужно восстановить разбитые панели и их вкладки точно так, как они были раньше.
Из-за отсутствия документации я в настоящее время просматривает исходный код и нашел этот многообещающий фрагмент кода:
private EditorsSplitters getSplittersFromFocus() {
return FileEditorManagerEx.getInstanceEx(myProject).getSplitters();
}
Это позволяет мне проходить через набор разделенных окон, используя EditorWindow[] windows = getSplittersFromFocus.getOrderedWindows()
. Они содержат вкладки редактора и информацию об их ширине и высоте. Но я не нашел никакой информации о направлении разделения и о том, как восстановить разбитые окна, как они были раньше.
Может ли кто-нибудь помочь?