Ниже перечислены наиболее значимые изменения средств разработки на Java, вошедшие в выпуск 3.3 Eclipse, а именно:
Ознакомьтесь также с разделом Платформа Eclipse - новое в 3.3, где описаны нововведения платформы.
|
Действия для рефакторинга и для работы с исходным кодом Java |
|||
Рефакторинг без сохранения |
Для выполнения рефакторинга более не требуется сохранять данные во всех редакторах.
Рефакторинг будет работать правильно, даже если в редакторах Java или текстовых редакторах будут несохраненные изменения.
Если вы не хотите использовать редакторы с несохраненными изменениями после рефакторинга, то можно указать, что измененные ресурсы всегда должны сохраняться, на странице |
||
Рефакторинг переименования в редакторе |
Рефакторинг переименования Java может выполняться непосредственно в редакторе, а не в отдельном окне. При выборе действия Рефакторинг > Переименовать (Alt+Shift+R) в редакторе Java редактор переходит в связанный режим вместо открытия модального окна. Изменения применяются в рабочей области при нажатии клавиши Enter.
Для того чтобы настроить параметры рефакторинга, нажмите Alt+Shift+R еще раз или в меню выберите Открыть окно переименования.... Если вы хотите использовать прежнее модальное окно, то можно выключить опцию Переименовать в непосредственно в редакторе на странице |
||
Рефакторинг Представить объект параметров |
Представить объект параметров - это новый вид рефакторинга, который заменяет набор параметров метода новым контейнерным объектом. Все вызовы метода будут обновлены, чтобы при этом они обращались к новому классу объекта параметров. Варианты использования:
Для того чтобы выполнить рефакторинг Представить объект параметров, выберите метод, затем выберите Рефакторинг > Представить объект параметров, укажите параметры, которые будут полями, и присвойте им описательные имена.
Показанный на рисунке фрагмент кода
примет следующий вид:
|
||
Множественная сортировка элементов |
Действие Сортировать элементы может применяться сразу для нескольких элементов. Выберите пакет, проект или набор элементов Java в панели Структура пакетов и затем выберите Исходный текст > Сортировать элементы. |
||
Профайлы очистки |
Вместо мастера Исходный текст > Очистка теперь предусмотрена страница параметров. На этой странице можно настроить профайлы очистки. Профайл можно связать с рабочей областью или с отдельным проектом. Параметры проекта можно сделать общими посредством системы управления версиями. Каждый профайл можно также экспортировать и импортировать. |
||
Новые варианты очистки |
Реализованы следующие новые варианты очистки:
|
||
|
Редактор Java
|
|||
Очистка кода при сохранении |
Теперь при сохранении редактора Java можно автоматически выполнять очистку кода.
Эту опцию можно включить глобально на странице
|
||
Помощник по содержимому для импорта избранных статических элементов |
Помощник по содержимому (Ctrl+пробел) теперь может предлагать варианты дополнений для статических элементов из списка избранных вариантов, настроенного на странице Например, если в этот список добавлен
В этих вариантах учитываются параметры импорта, настроенные на странице параметров
|
||
Помощник по содержимому для переменных с неизвестным типом |
В зависимости от параметра
Нажмите ;, как показано ниже:
и в результате получится:
|
||
Помощник по содержимому предлагает варианты объявления для неопределенных локальных переменных |
Помощник по содержимому может определять вариант объявления локальной переменной по ее использованию далее в коде, как показано на рисунке:
|
||
Другие улучшения помощника по содержимому |
|
||
Варианты быстрой помощи |
Функции, ранее доступные только из меню Рефакторинг, теперь также включены в быструю помощь (Ctrl+1). Как обычно, варианты быстрой помощи предлагаются не в отдельном окне, а в связанном режиме, где можно изменить типы имен.
|
||
Быстрое исправление для создания метода из @Override |
При добавлении аннотации @Override в метод, для которого переопределение еще не создано, быстрое исправление (Ctrl+1) предложит создать метод в одном из базовых типов. |
||
Быстрое исправление для создания методов get и set |
Для поля, недоступного из-за ограничений видимости, предусмотрено быстрое исправление. В следующем сценарии нажмите Ctrl+1 для вызова быстрого исправления:
Если для этого поля существует метод get, то его можно использовать.
Если для этого поля не существует метод get, то его можно создать.
|
||
Шаблон для добавления методов тестирования JUnit 4 |
Новый шаблон Тестирование позволяет быстро добавлять методы тестирования JUnit 4. |
||
Выделение цветом скобок |
Параметры цветового выделения скобок можно настроить на странице
|
||
В конференциях больше не пишут: "Не вижу исходный текст" |
По умолчанию теперь скрыта группа команд, содержащая кнопку панели инструментов Показывать исходный код только выбранного элемента |
||
Настройка шрифта Javadoc |
Настроить шрифт Javadoc можно на странице
|
||
Цвет фона для подсказок по исходному коду |
Цвет фона для подсказок по исходному коду в редакторе Java можно настроить на странице
|
||
Редактор файлов классов показывает дизассемблированный код |
Редактор файлов классов Java показывает дизассемблированный байт-код, если исходный код недоступен. |
||
|
Компилятор Java
|
|||
Улучшенная обработка повторяющихся локальных переменных и типов |
Обработка ошибочного кода с повторяющимися локальными переменными и типами оптимизирована, в особенности исключены вторичные ошибки. Это позволяет применять инструменты Java в коде с ошибками, например, для быстрых исправлений.
|
||
Улучшенная проверка сравнения с null |
Существующая опция Ссылка на null на странице параметров
|
||
Предупреждение для непараметризованных типов включено по умолчанию |
Необязательный параметр компилятора для обнаружения применения непараметризованных типов включен по умолчанию. Этот параметр можно настроить на странице
|
||
Расширенное предупреждение о неиспользуемом параметре |
Предупреждение о неиспользуемом параметре теперь включает в себя опцию обнаружения ложных срабатываний. Компилятору можно указать, что параметр будет использоваться, если добавить тег комментария @param. Эта опция включается на странице
|
||
|
Панели и окна Java |
|||
Выделение меток цветок в панелях Java |
В окне
|
||
Оформление для полей типа transient и volatile |
Поля типа transient и volatile теперь оформляются соответствующими значками: |
||
Группировка JAR и папок классов в панели Структура пакетов |
В панели Структура пакетов связанные библиотеки теперь группируются в новый контейнер.
|
||
Дополнительные возможности поиска Java |
В окне поиска Java теперь доступны расширенные возможности управления областью поиска в исходных текстах, проектах, библиотеках JRE и библиотеках приложений.
|
||
Фильтр поиска ссылок на переопределенные методы |
Служба поиска Java теперь содержит новый критерий для категоризации совпадений ссылок на методы. Вызов из типа или одного из его производных типов отличается от вызова из базового типа (последний считается менее точным совпадением). В панели Поиск реализован фильтр, позволяющий дополнительно уточнить ссылки на искомый метод. В следующем примере пользователь искал ссылки на метод
|
||
Выбор среды выполнения при создании проекта Java |
При создании общего проекта Java рекомендуется использовать среду выполнения, а не конкретную JRE. Среда выполнения - это символическое представление JRE в стандартном виде, например, 'J2SE-1.4', 'J2SE-1.5'. Это означает, что пути файловой системы не будут применяться в общем пути компоновки. JRE можно связать с средами на странице
|
||
Добавление нового проекта Java в рабочий набор |
В мастере создания проекта Java появились дополнительные поля для указания рабочих наборов, к которым добавляется новый проект. Эти поля инициализируются из текущего выбранного набора или фильтра активных рабочих наборов в панели Структура пакетов. |
||
Присвоение рабочих наборов |
Реорганизация элементов Java или ресурсов в рабочих наборах стала проще. Для того чтобы присвоить элемент другому рабочему набору, выберите элемент в панели Структур а пакетов и выберите в контекстном меню Присвоить рабочие наборы.... |
||
При вставке объявления типа создается новый проект |
Хотите быстро проверить присланный фрагмент кода? Скопируйте фрагмент в буфер обмена, перейдите в панели Структура пакетов, отмените выбор любых элементов и нажмите Правка > Вставить (Ctrl+V). Eclipse проанализирует текст в буфере обмена и, если он пригоден для создания файла *.java, создаст новый проект Java и файл *.java.
Разумеется, как и в версии 3.2, можно выбрать существующий проект или пакет как целевой для нового файла. |
||
Расширенная вставка в панели Структура пакетов |
При вставке текста Java с несколькими объявлениями пакетов в панель Структура пакетов автоматически будут созданы все необходимые пакеты и единицы компиляции. Структура в правой части будет создана, если фрагмент кода из левой части будет вставлен в панель Структура пакетов, в которой ничего не выбрано:
|
||
Отмена удалений в панелях Java |
Действие Правка > Отменить теперь работает и для удаления элементов Java в панелях Java. Случайно удаленные пакеты, единицы компиляции и пр. можно восстановить нажатием Ctrl+Z. |
||
Перетаскивание мышью элементов Java в панели Структура проекта |
При перетаскивании мышью элементов Java в панели Структура проекта генерируются события рефакторинга Java.
|
||
Экспорт и импорт тестов JUnit |
Прогоны тестов JUnit теперь можно экспортировать и импортировать. |
||
Действие Открыть тип работает с несколькими типами |
В окне Открыть тип (Ctrl+Shift+T) теперь можно открыть сразу несколько редакторов за раз. |
||
Шаблон для поиска пакетов и вмещающих типов |
Шаблоны с символами '*' или '?' теперь могут применяться для пакетов и вмещающих типов в окне Открыть тип.
|
||
|
Отладчик Java |
|||
Переход по ссылкам (только Java SE 6) |
Можно показать все ссылки на объект (только при отладке в виртуальной машине Java SE). Ссылки на объекты показываются в панели Переменные при выборе опции Показать ссылки в меню панели. Ссылки на различные объекты сгруппированы в наборы.
Ссылки также можно показать в всплывающем окне. Для этого выберите объект в панели Переменные и в контекстном меню выберите Все ссылки.
Ссылки будут показаны в всплывающем окне.
|
||
| Показ экземпляров (только Java SE 6) |
Можно показать все экземпляры типа Java (только при отладке в виртуальной машине Java SE). Экземпляры будут показаны в всплывающем окне. Для этого выберите тип в схеме редактора, введите имя типа в редакторе Java или имя переменной в панели Переменные и в контекстном меню выберите Все экземпляры.
Экземпляры будут показаны в всплывающем окне.
|
||
| Принудительный возврат (только Java SE 6) |
Можно выполнить принудительный возврат из метода (только при отладке в виртуальной машине Java SE). При этом будет возвращено значение из текущего фрейма стека. Никакие инструкции метода больше выполняться не будут, а все блокировки в точках синхронизации будут удалены. Возвращаемое значение создается при выборе выражения и действии Принудительный возврат (Alt+Shift+F). Это действие доступно в контекстном меню редактора Java, меню Выполнить, в панели Показать и в окне сведений панели Переменные. Принудительный возврат из метода, возвращающего непустое значение, требует указания выражения.
Например, если метод возвращает значение false, то можно возвратить значение
true, выбрав выражение в панели Показать и вызвав Принудительный возврат. В следующем примере значение
Используйте Принудительный возврат из меню панели Показать, чтобы возвратить значение true.
|
||
| Пошаговое прохождение гиперссылок |
При отладке можно пройти в метод по гиперссылкам. Нажмите Ctrl+Alt+щелчок для входа в метод (Ctrl+щелчок ведет к исходному коду).
|
||
Двойной щелчок и Ctrl+Shift+B для всех видов точки прерывания |
Двойной щелчок на вертикальной линейке или действие Переключить точку прерывания (Ctrl+Shift+B) теперь создает соответствующий вид точки прерывания в позиции курсора - точка прерывания в строке, точка наблюдения точка прерывания в методе или точка прерывания загрузки класса. Для того чтобы создать точку прерывания загрузки класса дважды щелкните на строке с объявлением класса.
|
||
| Проход через фильтры и выход |
Пошаговые фильтры можно настроить так, чтобы возвращаться из отфильтрованного расположения или проходить дальше через фильтр.
Например, если отфильтрованным расположением является Параметр Проход сквозь фильтры указывается на странице
|
||
| Автоматическое форматирование трассировки стека |
Автоматическое форматирование трассировки стека выполняется при вставке ее в консоль трассировки стека Java. Кнопка Автоматическое форматирование доступна на панели инструментов консоли.
|
||
| Экспорт логических структур |
Параметры логических структур Java можно экспортировать и импортировать отдельно от прочих параметров рабочей области.
Логические структуры Java настраиваются на странице
|
||
|
Разное |
|||
Новые параметры форматирования исходного кода |
Страница
|
||
| Права доступа для среды выполнения |
Права доступа присваиваются для каждой среды выполнения на основе профайла.
Например, может быть запрещен доступ к пакетам
|
||
Нерекомендуемые и неизменяемые переменные пути к классам |
Системные переменные classpath могут быть объявлены нерекомендуемыми и/или доступными только для чтения с помощью точки расширения Пользователи должны применять вместо нерекомендуемых переменных classpath другие механизмы, например, библиотеки. Для некоторых переменных (например, JUNIT_HOME) в панели Неполадки предусмотрены быстрые исправления для переноса существующих проектов. |
||
Относительные пути рабочей области для расположения Javadoc |
Для расположения Javadoc для архивов и папок с классами могут применять пути относительно рабочей области: |
||
Динамическая генерация типов |
Обработка аннотаций Java 5 (APT) была включена в
Eclipse 3.2, но до сих пор новые типы генерировались только при компоновке.
Обработчики аннотаций Java 5 теперь могут генерировать новые типы прямо в момент редактирования аннотаций.
Эта функция по умолчанию выключена из соображений производительности. Для того чтобы ее включить, обработчик должен содержать строку "enableTypeGenerationInEditor" в наборе, возвращаемом из |
||
Обработка аннотаций Java 6 |
Eclipse 3.3 полностью поддерживает обработку аннотацией Java 6 в пакетном компиляторе Java Eclipse. Некоторые функции обработки аннотаций Java 6 реализованы и в IDE, но полная поддержка будет в будущем. |
||