СОДЕРЖАНИЕ
История
Eclipse 3.0 (выпущенный 21 июня 2004 г.) выбрал спецификации OSGi Service Platform в качестве архитектуры времени выполнения.
Лицензирование
Начиная с версии 4.9, в проекте было принято решение отказаться от этого соглашения об именах, чтобы лучше согласоваться с новой стратегией одновременного выпуска, и было принято соглашение об именах на основе даты для отражения квартальных выпусков.
Релизы
С 2008 по 2018 год каждый одновременный выпуск происходил в 4-ю среду июня. В 2018 году проект перешел на квартальные (13 недель) выпуски YYYY-MM без промежуточных сервис-релизов.
| Название версии | Дата | Версия платформы | Проекты | Основные изменения |
|---|---|---|---|---|
| N / A | 21 июня 2004 г. | Старая версия, больше не поддерживается: 3.0 | ||
| N / A | 28 июня 2005 г. | Старая версия, больше не поддерживается: 3.1 | Добавлена поддержка Java 5 : обобщения, аннотации, распаковка боксов, перечисления, улучшенный цикл for, varargs, статический импорт. | |
| Каллисто | 30 июня 2006 г. | Старая версия, больше не поддерживается: 3.2 | Каллисто проекты | |
| Европа | 29 июня 2007 г. | Старая версия, больше не поддерживается: 3.3 | Европа проекты | |
| Ганимед | 25 июня 2008 г. | Старая версия, больше не поддерживается: 3,4 | Ганимедские проекты | |
| Галилео | 24 июня 2009 г. | Старая версия, больше не поддерживается: 3.5 | Проекты Галилео | |
| Гелиос | 23 июня 2010 г. | Старая версия, больше не поддерживается: 3,6 | Проекты Helios | |
| Индиго | 22 июня 2011 г. | Старая версия, больше не поддерживается: 3,7 | Индиго проекты | Добавлена поддержка Java 7 (3.7.1 sr1): улучшенный вывод типа для создания универсального экземпляра (Diamond), Multi-catch, оператор try-with-resources, упрощенный вызов метода Varargs, строки в переключателе, двоичные литералы и знаки подчеркивания в числовых литералах, Полиморфные методы |
| Юнона | 27 июня 2012 г. | Старая версия, больше не поддерживается: 3.8 и 4.2 Прекращена поддержка следующих платформ на базе Unix: AIX, Solaris, HP-UX и s390. Национальная библиотека им. Н. Э. Баумана | ||
| Разработчики: | Eclipse Foundation | |||
| Выпущена: | 1.0 / 7 November 2001 года ; 20 years ago ( 2001-11-07 ) | |||
| Постоянный выпуск: | 4.6.1 (Neon.1) / 28 September 2016 года ; 5 years ago ( 2016-09-28 ) | |||
| Предыдущий выпуск: | Neon Release Candidate 3 (4.6.0RC3) | |||
| Состояние разработки: | Active | |||
| Написана на: | Java | |||
| Операционная система: | Cross-platform: Linux, Mac OS X, Solaris, Windows | |||
| Платформа: | Java SE, Standard Widget Toolkit | |||
| Локализация: | Multilingual | |||
| Тип ПО: | Programming tool, Integrated development environment (IDE) | |||
| Лицензия: | Eclipse Public License | |||
| Веб-сайт | << #property:P856>> |
Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).
Содержание
История
В Eclipse 3.0 (2003 год) были выбраны спецификации сервисной платформы OSGi, как архитектура среды исполнения. С версии 3.0 Eclipse перестал быть монолитной IDE, поддерживающей расширения, а сам стал набором расширений. В основе лежат фреймворк OSGi и SWT/JFace, на основе которых разработан следующий слой — RCP (Rich Client Platform, платформа для разработки полноценных клиентских приложений). RCP служит основой не только для Eclipse, но и для других RCP-приложений, например, Azureus и File Arranger. Следующий слой — сам Eclipse, представляющий собой набор расширений RCP — редакторы, панели, перспективы, модуль CVS и модуль Java Development Tools (JDT).
С 2006 года фонд Eclipse координирует ежегодный общий релиз (Simultaneous Release), который происходит в июне. Каждый выпуск включает в себя платформу Eclipse, а также ряд других проектов Eclipse.
| Релиз | Дата | Версия платформы | Проект |
|---|---|---|---|
| Neon | 22 июня 2016 | 4.6 | проекты Neon |
| Mars | 25 июня 2015 | 4.5 | проекты Mars |
| Luna | 6 июня 2014 | 4.4 | проекты Luna |
| Kepler | 26 июня 2013 | 4.3 | проекты Kepler |
| Juno | 27 июня 2012 | 3.8 и 4.2 | проекты Juno |
| Indigo | 22 июня 2011 | 3.7 | проекты Indigo |
| Helios | 23 июня 2010 | 3.6 | проекты Helios |
| Galileo | 24 июня 2009 | 3.5 | проекты Galileo |
| Ganymede | 25 июня 2008 | 3.4 | проекты Ganymede |
| Europa | 29 июня 2007 | 3.3 | проекты Europa |
| Callisto | 30 июня 2006 | 3.2 | проекты Callisto |
| Eclipse 3.1 | 28 июня 2005 | 3.1 | |
| Eclipse 3.0 | 28 июня 2004 | 3.0 |
Преимущества
Eclipse служит в первую очередь платформой для разработки расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют Java Development Tools (JDT), C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT) и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse диспетчерами для работы с базами данных, серверами приложений и др.
Eclipse JDT (Java Development Tools) — наиболее известный модуль, нацеленный на групповую разработку: среда интегрирована с системами управления версиями — CVS, GIT в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. Также предлагает поддержку связи между IDE и системой управления задачами (ошибками). В основной поставке включена поддержка трекера ошибок Bugzilla, также имеется множество расширений для поддержки других трекеров (Trac, Jira и др.). В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.
Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.
Архитектура
Основой Eclipse является платформа расширенного клиента (RCP — от англ. rich client platform ). Её составляют следующие компоненты:
GUI в Eclipse написан с использованием инструментария SWT. Последний, в отличие от Swing (который самостоятельно эмулирует графические элементы управления), использует графические компоненты данной операционной системы. Пользовательский интерфейс Eclipse также зависит от промежуточного слоя GUI, называемого JFace, который упрощает построение пользовательского интерфейса, базирующегося на SWT.
Гибкость Eclipse обеспечивается за счёт подключаемых модулей, благодаря чему возможна разработка не только на Java, но и на других языках, таких, как C/C++, Perl, Groovy, Ruby, Python, PHP, Erlang, Компонентного Паскаля, Zonnon, и прочих.
Последние версии
Eclipse 3.3.2 (Europa Winter)
Количество новых подпроектов (как управляемых Eclipse Foundation, так и сторонних) быстро увеличивается. Приходится координировать усилия огромного количества разработчиков и предлагать общие правила — «Eclipse Development Process». [3]
Последняя версия релиза включает в себя 21 подпроект.
Eclipse 3.4 (Ganymede)
Релиз Ganymede (06.2008) включает в себя 23 подпроекта:
Eclipse 3.5 (Galileo)
Последний релиз Galileo, представленный публике 24 июня 2009 года, включает в себя 33 подпроекта:
Локализация
Начиная с версии 3.1.1, выпущен языковой пакет для русификации Eclipse. Переведены на русский язык как графический интерфейс, так и документация.
Модули
Для среды Eclipse существует целый ряд свободных и коммерческих модулей. Первоначально среда была разработана для языка Java, но в настоящее время существуют многочисленные расширения для поддержки и других языков:
Модуля для поддержки Pascal на данный момент нет. Вернее, есть заброшенный плагин, который можно возродить при желании. Ещё есть поддержка подсветки синтаксиса паскаля плагином EclipseColorer, но это не может считаться полноценной поддержкой языка.
Существуют также модули для создания графических интерфейсов.
Для разработки и получения отчётов и разработки аналитических BI-приложений в Eclipse имеется BIRT Project.
В Eclipse встроена функция установки и обновления модулей через Интернет.
Eclipse (среда разработки)
Наиболее известные приложения на основе Eclipse Platform — различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).
Содержание
История
Первоначально Eclipse разрабатывалась фирмой IBM как преемник среды разработки IBM VisualAge, в качестве корпоративного стандарта IDE для разработки на разных языках под платформы IBM. По сведениям IBM, проектирование и разработка стоили 40 миллионов долларов. Исходный код был полностью открыт и сделан доступным после того, как Eclipse был передан для дальнейшего развития независимому от IBM сообществу.
В Eclipse 3.0 (2003 год) были выбраны спецификации сервисной платформы OSGi, как архитектура времени выполнения. С версии 3.0 Eclipse перестал быть монолитной IDE, поддерживающей расширения, а сам стал набором расширений. В основе лежат фреймворк OSGi и SWT/JFace, на основе которых разработан следующий слой — RCP (Rich Client Platform, платформа для разработки полноценных клиентских приложений). RCP служит основой не только для Eclipse, но и для других RCP-приложений, например Azureus и File Arranger. Следующий слой — сам Eclipse, представляющий собой набор расширений RCP — редакторы, панели, перспективы, модуль CVS и модуль Java Development Tools (JDT).
Последняя стабильная версия программы — 3.5 (Galileo). Она, как и предшествующая ей версия 3.4 (Ganymede), поддерживает новые возможности, появившиеся в Java 6.0, и содержит обновления ключевой OSGi-модели компонентов Equinox.
Преимущества
Eclipse — в первую очередь полноценная Java IDE, нацеленная на групповую разработку: поддержка CVS входит в поставку Eclipse, активно развиваются несколько вариантов SVN-модулей, существует поддержка VSS и других. В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.
Второе назначение Eclipse — служить платформой для разработки новых расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков COBOL, FORTRAN, PHP и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse менеджерами для работы с базами данных, серверами приложений и др.
Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.
Архитектура
Основой Eclipse является платформа расширенного клиента (RCP — от англ. rich client platform ). Её составляют следующие компоненты:
GUI в Eclipse написан с использованием инструментария SWT. Последний, в отличие от Swing (который самостоятельно эмулирует графические элементы управления), использует графические компоненты данной операционной системы. Пользовательский интерфейс Eclipse также зависит от промежуточного слоя GUI, называемого JFace, который упрощает построение пользовательского интерфейса, базирующегося на SWT.
Гибкость Eclipse обеспечивается за счёт подключаемых модулей, благодаря чему возможна разработка не только на Java, но и на других языках, таких как C/C++, Perl, Groovy, Ruby, Python, PHP, Erlang и прочие.
Проекты Eclipse
Платформа
Примеры проектов
Кроме того в состав Eclipse входят следующие проекты (перечислены лишь некоторые) [7] :
Последние версии
Eclipse 3.3.2 (Europa Winter)
Количество новых подпроектов (как управляемых Eclipse Foundation, так и сторонних) быстро увеличивается. Приходится координировать усилия огромного количества разработчиков и предлагать общие правила — «Eclipse Development Process». [30]
Последняя версия релиза включает в себя 21 подпроект. [31]
Eclipse 3.4 (Ganymede)
Релиз Ganymede (06.2008) включает в себя 23 подпроекта: [32]
Eclipse 3.5 (Galileo)
Последний релиз Galileo, представленный публике 24 июня 2009 года, включает в себя 33 подпроекта: [33]
Локализация
Начиная с версии 3.1.1, выпущен языковой пакет для русификации Eclipse. Переведены на русский язык как графический интерфейс, так и документация. [34]
Модули
Для среды Eclipse существует целый ряд свободных и коммерческих модулей. Первоначально среда была разработана для языка Java, но в настоящее время существуют многочисленные расширения для поддержки и других языков:
Существуют также модули для создания графических интерфейсов.
Для разработки и получения отчётов и разработки аналитических BI-приложений в Eclipse имеется BIRT Project (англ.).
В Eclipse встроена функция установки и обновления модулей через Интернет.
Разработка простого Eclipse RCP приложения
В данной статье я хотел рассказать о том, как создавать приложения при помощи Eclipse RCP (Rich Client Platform). Поводом для написания послужил тот факт, что на Хабре абсолютно отсутствуют статьи, описывающие данную платформу. В качестве примера мы создадим пользовательскую форму ввода; корректность данных будет проверяться при помощи JFace Data Binding framework. Для затравки приведу ниже скриншот с тем, что у нас должно получиться.
Что такое Eclipse RCP
Для начала, все же необходимо сказать, что же такое Eclipse RCP. Eclipse – это среда разработки, написанная на Java, развиваемая и поддерживаемая Eclipse Foundation (участниками которого являются IBM, SAP, Oracle, компании, предлагающие продукты на основе Eclipse RCP и участвующие в развитии экосистемы Google, RedHat, Adobe, Cisco, Intel). Eclipse RCP – это набор плагинов для создания, так называемых, rich client application. Все что видит пользователь, открывая Eclipse IDE, является плагином, созданным на основе этой платформы. Пользователь может создавать свои плагины на основе огромного количества уже существующих, также при необходимости можно найти большинство популярных фреймворков, таких как Hibernate, Google Guice, Google Guava, JUnit, TestNG в виде плагинов. Также стоит отметить, что архитектура времени выполнения основана на спецификации сервисной платформы OSGI, данная спецификация описывает способы создания и работы модульных приложений. Eclipse, как уже упоминалось выше, написана на Java и позиционируется как кроссплатформенный продукт (в 90% случаев RCP приложение соберётся на Windows, Linux и Mac). Все плагины, составляющие ядро платформы, и большинство сторонних плагинов распространяются под лицензией EPL (Eclipse Public License). Пользовательский интерфейс RCP приложений основан на визуальных компонентах фреймворков SWT и JFace, а также на собственных Eclipse виджетах. Рисунки, приведённые ниже, показывают из каких компонентов состоит приложение, основанное на платформе RCP, и структуру самой платформы Eclipse.
Рисунок 1 — Компоненты используемые в RCP приложении (рисунок взят с этого сайта)

Рисунок 2 – Архитектура Eclipse (рисунок взят с этого сайта)
Плюсы и минусы платформы
Главный вопрос — чем же так хороша данная платформа и зачем ее использовать для разработки десктопных приложений (к слову, возможно разрабатывать веб приложения и приложения для мобильных платформ). Модульность, кроссплатформенность, поддержка мультиязычности, бесплатность, огромное количество существующих плагинов, библиотек и фреймвороков. Все это позволяет создавать приложения коммерческого уровня (ссылка на список существующих приложений разработанных на данной платформе приведена в конце статьи). К минусам можно отнести достаточно высокий уровень вхождения, так как для разработки серьёзного приложения необходимо знать хотя бы в общих чертах, как работает OSGI фреймворк, уметь работать с компонентами и виджетами SWT и JFace. Также для русскоговорящих разработчиков проблемой будет найти какие-либо материалы или книги об упомянутых выше фреймворках и библиотеках (ссылки на найденные ресурсы, в том числе и на русскоязычные, приведены в конце статьи), хотя в Европе и США периодически проводятся конференции, которые организуют участники Eclipse Foundation, в Германии издается специальный журнал, рассказывающий о новых плагинах и содержащий уйму примеров их применения, а также существует целая серия книг на немецком, которая описывает все ньюансы и тонкости разработки. На английском можно найти специальную серию книг eclipse series издательства Addison-Wesley, также можно найти пару книг от издательства Apress. Но на нашем родном языке материалов и книг ничтожно мало.
Приступаем к работе
Установка необходимых плагинов
Давайте перейдём непосредственно к созданию нашего первого RCP приложения. Для работы нам необходимо скачать сборку: Eclipse for RCP and RAP Developers c официального сайта. Если же Eclipse IDE уже установлена, то можно воспользоваться менеджером обновлений. Выберем в главном меню пункт Help->Install New Software. В появившемся окне Install сверху выберем из выпадающего списка нужный нам сайт с обновлениями — download.eclipse.org/releases/indigo, если такого сайта в списке нет, то нажмём справа кнопку Add, в поле Name напишем – Indigo Update Site, в поле Location – адрес, приведённый выше, нажмём OK (если при добавлении адреса появляется сообщение – Duplicate location, значит адрес уже существует в списке Available Software Sites, список сайтов обновлений можно посмотреть в предыдущем окне Install если щёлкнуть по ссылке Available Software Sites, которая находится под выпадающем списком). После выбора сайта обновлений, внизу появится древовидный список (если отмечен чекбокс Group items by category), откроем пункт General Purpose Tools и выберем Eclipse Plug-in Development Environment, затем откроем пункт EclipseRT Target Platform Components и отметим плагин – Eclipse RCP Plug-in Developer Resources, именно эти два плагина нам необходимы для создания нашего проекта. Далее нажмём два раза Next, примем лицензионное соглашение и щёлкнем по кнопке Finish; все, начнется установка необходимых плагинов. После установки нам будет предложено перезагрузить Eclipse, что мы и сделаем.
Рисунок 3 – Окно установки плагинов
Создание проекта
После перезагрузки выберем в главном меню пункт File->New->Other, выберем пункт Plug-in Development, далее, в ниспадающем меню отметим Plug-in Project.
Рисунок 4 – Меню выбора типа создаваемого проекта
Нажмём Next, нам необходимо дать имя нашему проекту, пусть он будет называться first.rcp.application, опять нажмём Next. В следующем окне нам необходимо указать имя приложения, в поле Name напишем First RCP Application. Снимем флажок с пункта Generate an activator, a Java class that controls the plug-in’s life cycle; для нашего простого приложения класс активатор не нужен. Оставим флажок на пункте — This plug-in will make contributions to the UI, так как наше приложение будет содержать пользовательский интерфейс. Оставим третий пункт Enable API Analysis неотмеченным. На вопрос — Would you like to create a rich client application? ответим Yes.
Рисунок 5 – Окно создания плагина
Нажмём Next, нам будет предложено выбрать шаблон для будущего приложения, выберем — Hello RCP и нажмём Next.
Рисунок 6 — Окно выбора шаблона RCP проекта
В последнем окне, в поле Application window title напишем — User Form, в поле Application class – MyApplication. Флажок Add branding оставим неактивным. Нажмём кнопку Finish. Нам будет предложено переключиться на перспективу Plug-in Development perspective, согласимся с этим предложением.
Рисунок 7 — Окно конфигурации шаблона RCP проекта
Структура проекта
Итак перед нами структура только что созданного проекта.
Рисунок 8 – Структура проекта
Содержание пяти классов в пакете first.rcp.application в данный момент нас не итересует, скажу только, что класс MyApplication это в некотором роде метод main() обычной Java программы, данный класс отвечает за то как будет запущен наш плагин и как он будет остановлен. В классе ApplicationWorkbenchWindowAdvisor, мы можем установить размер окна приложения при помощи следующей строки кода:
configurer.setInitialSize(new Point(400, 300));
Также мы можем увидеть, что по умолчанию не будет показываться панель инструментов и строка состояния:
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
Последней строкой устанавливается заголовок главного окна:
configurer.setTitle(«User Form»);
Класс ApplicationActionBarAdvisor отвечает за настройку строки меню нашего приложения. Класс Perspective отвечает за расположение и размер редакторов (editors) и видов (views), которые находятся в данной перспективе (perspective), в RCP приложении должна быть хотя бы одна перспектива.
Запуск проекта
Для того, чтобы запустить только что созданное нами приложение, нам необходимо перейти в папку META-INF и открыть файл MANIFEST.MF, если вы вдруг его закрыли (этот файл открывается по-умолчанию при создании проекта).
Рисунок 9 – Редактор свойств RCP приложения
Данный файл позволяет нам менять многие настройки проекта, подключать дополнительные плагины, подключать и управлять расширениями, настраивать сборку нашего плагина и многое другое. Мы находимся на вкладке Overview, в разделе Testing нажмём на ссылку — Launch an Eclipse application, через мгновение на экране появится окно нашего приложения, закроем его и перейдём к следующему этапу.
Рисунок 10 – Окно нашего приложения
Добавление вида (view)
Добавление расширения
Нашей задачей является создание вида (view), на который мы сможем поместить элементы графического интерфейса. Перейдём опять к файлу MANIFEST.MF, выберем внизу вкладку – Extensions. Мы видим, что по умолчанию у нас есть два расширения: org.eclipse.core.runtime.applications и org.eclipse.ui.perspectives. Первое расширение связано с классом нашего приложения MyApplication, если мы выберем данное расширение и развернём древовидный список до узла first.rcp.application.MyApplication (run), мы увидим, что поле class содержит название именно этого класса. Вернувшись к корневому узлу данного списка, справа в разделе Extension Details мы увидим два поля, значения которых мы тоже можем поменять (не будем сейчас этого делать): ID – идентификатор приложения и Name – название приложения.
Второе расширение отвечает за настройку перспективы нашего приложения. Файл MANIFEST.MF позволяет нам не заглядывая в код класса Perspective, указать, какие виды и/или редакторы будет содержать данная перспектива, их положение, размер и соотношение. Щёлкнув на этом расширении и перейдя к дочернему пункту мы увидим, что в разделе Extension Element Details мы можем указать класс перспективы, идентификатор и имя. Необходимо отметить, что подобные изменения, как говорилось выше, можно произвести путём редактирования непосредственно кода класса, который связан с данным расширением и редактированием файла plugin.xml, но не хотелось бы усложнять создание нашего первого проекта.
Рисунок 11 – Вкладка с расширениями нашего проекта
Нам необходимо добавить новое расширение для создания вида. Для этого нажмём на кнопку Add и в появившемся окне, в поле Extension Point filter введём views, должно остаться только одно расширение – org.eclipse.ui.views, выберем его и нажмём кнопку Finish.
Рисунок 12 – Окно выбора нового расширения
В списке расширений у нас должно появиться ещё одно, третье по счёту расширение.
Настройка вида
Щёлкнем по добавленному нами расширению правой кнопкой мыши, появится контекстное меню, выберем в нем New->view, тем самым мы добавим элемент к нашему расширению (этим элементом и является необходимый нам вид). В правой части появятся настройки данного элемента. Для начала создадим класс для нашего вида. Сделать этом мы можем нажав на ссылку class*.
Рисунок 13 – Настройки вида (view)
Откроется стандартный диалог создания Java класса, дадим ему название – MainView; как мы можем заметить, данный класс наследуется от класса org.eclipse.ui.part.ViewPart, родительского класса для всех видов. Завершим создание класса нажав на кнопку Finish. Осталось совсем немного, после создания класса для нашего вида перед нами откроется его код, создадим статическую переменную, которая будет содержать идентификатор данного вида, в качестве идентификатора мы зададим каноническое имя данного класса. Напишем следующее:
…
public class MainView extends ViewPart <
public static final String > …
>
Ввернёмся к файлу MANIFEST.MF, откроем вкладку Extension, скопируем содержимое поля class* и вставим его в поле ID. Теперь имя класса и идентификатор этого вида совпадают, данный приём является хорошей практикой, так как всегда позволяет быстро найти нужный вид и узнать его идентификатор. В поле name* напишем – User Form. Все вид создан, осталось связать его с нашей перспективой, так как вид сам по себе не может быть использован, иными словами он должен принадлежать какой-либо перспективе.
Настройка расположения вида
Дальнейшие манипуляции мы можем произвести оставаясь в редакторе расширений или же открыть код класса перспективы — Perspective.java, что мы и сделаем. В классе Perspective, перейдём в метод – createInitialLayout(), данный метод задаёт начальное положение видов и редакторов. В методе напишем следующие две строки кода:
layout.setEditorAreaVisible(false);
layout.addStandaloneView(MainView.ID, true, IPageLayout.LEFT, 1.0f, layout.getEditorArea());
Первая строка указывает объекту layout, что нам не нужна область для редактирования, так как у нас только один вид и нету редакторов. Вторая строка добавляет наш вид, причём как автономный (standalone). Первым параметром является идентификатор нашего вида. Второй параметр это булево значение, отвечающее за то, будет или нет показан заголовок нашего вида (User Form). Третий параметр предназначен для указания ориентации вида в перспективе, так как вид у нас один и займёт все пространство перспективы, то данное значение может быть любым. Четвёртый параметр определяет положение этого вида по отношению к другим видам или редакторам, так как, в нашем случае, вид один он должен занимать все пространство перспективы. Последний пятый параметр, идентификатор области редактирования (editor area). Сохраним наши изменения.
Запуск приложения с добавленным видом
Вернёмся к файлу MANIFEST.MF и снова запустим наше приложение, для этого перейдём на вкладку Overview, в разделе Testing, щёлкнем по ссылке Launch an Eclipse application. Большого различия с тем как выглядела форма при предыдущем запуске мы не увидим, добавилась только вкладка с нашим видом – User Form.
Рисунок 14 – Окно нашего приложения с добавленным видом
На сегодня все, продолжение будет в следующей статье.



