Советы и приемы (JDT)

Редактирование Рефакторинг Команды клавиатуры Поиск Панели Разное Отладка

Редактирование исходного кода

Помощник по работе с содержимым Помощник по работе с содержимым предоставляет варианты завершения частично введенных строк. В редакторе Java нажмите клавиши Ctrl+Space или вызовите Правка > Помощник по работе с содержимым.

Окно выбора помощника по работе с содержимым

Помощник по работе с содержимым в комментариях Javadoc Помощник по работе с содержимым доступен также и в комментариях Javadoc.

Помощник по работе с содержимым для комментариев Javadoc

Подавление типов в помощнике по содержимому Для того чтобы исключить появление определенных типов в помощнике по содержимому, можно воспользоваться фильтром, который настраивается на странице параметров Фильтры типов Java > Вид > Фильтры типов. Тип, совпадающий с одним из шаблонов фильтров, не появится в окне Открыть тип и не будет доступен помощнику по содержимому, процессору быстрого исправления и для импорта. Эти шаблоны фильтров не оказывают никакого влияния на панели Структура пакетов и Иерархия типов.

Страница параметров фильтрации типов

Применение помощника по работе с содержимым для завершения переменных, параметров методов и имен полей Помощник по работе с содержимым можно использовать для ускоренного создания полей, параметров методов и локальных переменных. Установив курсор после имени типа объявления, вызовите Правка > Помощник по работе с содержимым или нажмите клавиши Ctrl+Space.

Варианты завершение имени полей

Если для полей, локальных переменных или параметров методов используются имена с префиксами и суффиксами, убедитесь, что эти префиксы и суффиксы заданы на странице параметров Стиль кода Java > Стиль кода.

Подсказки для параметров Если установить курсор в параметр метода, то появится список подсказок для параметра. В Редакторе Java нажмите клавиши Ctrl+Shift+Space или вызовите Правка > Подсказки для параметров.

Всплывающая подсказка для параметра

Помощник по работе с содержимым для анонимных классов Помощник по работе с содержимым полезен и при создании анонимных классов. Установите курсор после открытой скобки создания экземпляра класса и вызовите Правка > Помощник по работе с содержимым или нажмите клавиши Ctrl+Space.

Помощник по работе с содержимым для анонимного класса

Будет создано тело анонимного класса, включающее все методы, которые требуется реализовать.
Переключение помощника по содержимому в режим вставки или замены При вызове помощника по работе с содержимым для существующего идентификатора помощник может либо заменить этот идентификатор выбранным вариантом завершения кода, либо вставить этот вариант после идентификатора. Режим (замена или вставка), действующий по умолчанию, указан на странице параметров помощник по содержимому Java > Редактор > Помощник по работе с содержимым.
Можно временно переключиться в другой режим, если внутри окна выбора варианта завершения, предлагаемого помощником по работе с содержимым, при выборе варианта завершения нажать и удерживать клавишу Ctrl.
Дополняющий помощник по работе с содержимым По умолчанию помощник по содержимому будет Вставлять общие префиксы автоматически, как оболочка Unix. Этот режим можно изменить на странице параметров помощник по содержимому Java > Редактор > Помощник по работе с содержимым.
Настройка помощника по содержимому Новое в 3.2 Горячая клавиша помощника по содержимому (Ctrl+Space) позволяет по циклу переходить по вариантам дополнений.

помощник по содержимому

Для того чтобы настроить показываемые категории, откройте страницу параметров помощник по содержимому Java > Редактор > Помощник по содержимому > Дополнительно.

Можно также назначить разные клавиши разным категориям дополнений.

Создание методов get и set Для того чтобы создать методы get и set для поля, выберите объявление поля и вызовите Исходный код > Генерировать методы get и set.

Окно Создать методы  get и set

При использовании имен с префиксами и суффиксами убедитесь, что эти префиксы и суффиксы заданы на странице параметров Стиль кода Java > Стиль кода.
Используйте помощник по работе с содержимым для создания методов get и set Другой способ создания методов get и set заключается в использовании помощника по работе с содержимым. Установите курсор между элементами в теле типа и нажмите клавиши Ctrl+Space для получения вариантов заготовок для методов get и set.
помощник по содержимому
Удаляйте методы get и set вместе с полем Когда поле удаляется из панели, Eclipse может предложить удалить его методы get и set. При использовании имен с префиксами и суффиксами для полей убедитесь, что эти префиксы и суффиксы заданы на странице параметров Стиль кода Java > Стиль кода.
Создавайте методы делегата Для того чтобы создать для поля метод делегата, выберите объявление этого поля и вызовите Исходный код > Генерировать методы делегата. Выбранные методы будут добавлены в тип, содержащий прямой вызов делегируемых методов. Вот пример метода делегата:
Пример метода делегата
Создание hashCode() и equals()
Новое в 3.2
Для того чтобы создать методы hashCode() и equals(), выберите Исходный текст > Сгенерировать hashCode() и equals().

Окно hashCode() и equals()

Используйте шаблоны для создания метода Можно определить новый шаблон Редактор - Шаблоны (Java > Редактор > Шаблоны, содержащий заглушку метода. Шаблоны будут показаны вместе с вариантами, предлагаемыми Помощником по работе с содержимым (Ctrl+Space).
Некоторые шаблоны уже существуют, например, 'private_method', 'public_method', 'protected_method' и другие.
Для перехода по значениям для ввода (возвращаемому типу, имени и параметрам) пользуйтесь клавишей табуляции.

Помощник по работе с содержимым с вариантами нового шаблона метода

Для создания нового метода используйте функцию быстрого исправления Для того чтобы создать новый метод, начните с его вызова и используйте Быстрое исправление (Ctrl+1).

Быстрое исправление 'Создать метод'

Используйте функцию быстрого исправления для изменения сигнатуры метода Добавьте параметр в вызов метода в месте вызова. Затем с помощью быстрого исправления (Ctrl+1) добавьте требуемый параметр в объявление метода.

Быстрое исправление 'Изменить сигнатуру'

Используйте помощник по работе с содержимым для создания заглушки конструктора В том месте, где требуется добавить новый конструктор, введите первые буквы его имени и вызовите помощник по содержимому.
Создание конструктора в помощнике по содержимому
Создавайте новые поля из параметров Вам нужно создать новое поле для хранения параметров, передаваемых в конструктор? Применение быстрой помощи (Ctrl+1) для параметра позволяет создать присваивание и объявление поля и получить от Eclipse вариант имени, соответствующий параметрам Стиля кода.
Быстрая помощь 'Присвоить параметр новому полю'
Используйте помощник по работе с содержимым для переопределения метода Вызовите Помощник по работе с содержимым (Ctrl+Space) в том месте тела типа, где необходимо добавить метод. Помощник предложит все методы, которые могут быть переопределены. Для выбранного метода будет создано тело.

Помощник по работе с содержимым 'Переопределить метод'

Используйте быстрое исправление для добавления нереализованных методов Для реализации нового интерфейса сначала добавьте в тип объявление 'implements'. Даже если не выполнять сохранение или компоновку, редактор Java подчеркнет этот тип, предупреждая об отсутствии методов, и покажет значок Быстрого исправления в виде электролампы. Щелкните на этом значке или нажмите клавиши Ctrl+1 (Правка > Быстрое исправление), чтобы выбрать один из следующих вариантов: добавить нереализованные методы или сделать класс абстрактным.

Быстрое исправление, предлагающее вариант 'Добавить нереализованные методы'

Переопределяйте метод из базового класса Для того чтобы создать метод, который переопределяет метод базового класса:
Выберите тип, в который должны добавляться методы, и вызовите Исходный код > Переопределить / Реализовать методы. Откроется окно, позволяющее выбрать методы для переопределения.

Окно 'Переопределить / Реализовать метод'

Создавайте тип из фрагмента кода
Новое в 3.2
Фрагмент кода с типом Java можно вставить в пакет или исходную папку, чтобы создать новую единицу компиляции. Например, выберите и скопируйте следующий фрагмент:
package pack;
   public class HelloWorld {
      public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
затем выберите исходную папку в панели Структура пакетов - Ctrl+V (Правка > Вставить). При этом автоматически будет создан пакет 'pack' и файл 'HelloWorld.java' с этим текстом.
Переименование в файлеДля того чтобы быстро выполнить переименование, не требующее полного анализа зависимостей в других файлах, используйте быструю помощь 'Переименовать в файле'. В Редакторе Java установите курсор на идентификатор переменной, метод или тип и нажмите клавиши Ctrl+1 (Правка > Быстрое исправление)
Редактор переключится в режим связанного редактирования (как в случае шаблонов), и изменение идентификатора приведет к одновременному изменению всех других ссылок на эту переменную, метод или тип.

Изменение нескольких идентификаторов с использованием функции быстрой помощи 'Локальное переименование'

Это же достигается клавишей Ctrl+2 R. Настроить комбинации клавиш можно на странице клавиши Общие > Клавиши.
Используйте Быстрое исправление для обработки исключительных ситуаций Работать с возбуждаемыми ситуациями достаточно легко. Необработанные ситуации обнаруживаются при вводе в редакторе и маркируются строкой красного цвета.
  • Щелкните на значке лампы или нажмите клавиши Ctrl+1, чтобы окружить вызов блоком try catch. Если в блок try необходимо включить несколько операторов, выберите эти операторы и вызовите Исходный код > Окружить > блоком try/блоком catch. Можно также выбрать отдельные операторы; для этого выберите опцию Правка > Распространить на , а затем пункт Окружающий, Следующий или Предыдущий.
  • Если вызов уже окружен блоком try, Быстрое исправление предложит добавить в него блок catch.
  • Если вы не хотите обрабатывать ситуацию, пусть Быстрое исправление добавит новую возбуждаемую ситуацию в объявление окружающего метода

Варианты Быстрого исправления 'Неперехватываемая ситуация'

Блок catch в любой момент можно заменить операцией генерирования ситуации (throw). Используйте для блока catch клавиши Ctrl+1 (Правка > Быстрое исправление).

Быстрая помощь 'Заменить предложение catch операциями throw'

Полуавтоматический ввод операторов присваивания Начинайте ввод не с присваивания, а с присваиваемого выражения.

Быстрая помощью 'Присвоить оператор локальной переменной'

Теперь нажмите клавиши Ctrl+1 (Правка > Быстрое исправление) и выберите 'присвоить оператор новой локальной переменной'; Быстрая помощь покажет предполагаемое имя переменной.
Быстрая помощь при присваивании
Полуавтоматическая обработка выражений с приведением типов Не тратьте слишком много времени на приведение типов. При вводе оператора их можно игнорировать, а затем после завершения оператора вызвать Быструю помощью для добавления операции приведения типов.

Пример для присваиваний:
Добавить операцию приведения типа в оператор присваивания
Для аргументов метода:
Добавить операцию приведения типа для параметров метода
Для целевых объектов вызова метода:
Добавить операцию приведения типа в целевые объекты вызова метода

Выражение присваивания с приведением типов
После проверки 'instanceof' часто выполняется приведение типа, и значение выражения присваивается локальной переменной. Быстрая помощь (Ctrl+1) на слове 'instanceof' избавит вас от лишних нажатий на клавиши:
Быстрое исправление- 'Создать локальную переменную после приведения типа'
Быстрая помощь - дополнительные возможности
Прочитайте раздел быстрая помощь, чтобы ознакомиться с полным списком вариантов работы с кодом. В их числе:
  • Обращение операторов if
  • Преобразование 'switch' в 'if-else'
  • Замена 'if-else' на условие
    ...и многое другое
Список быстрых исправлений приведен здесь.
Горячие клавиши для быстрых исправлений и помощи
Некоторые из часто применяемых вариантов быстрой помощи, такие как Переименовать в файле и Присвоить локальной переменной вызываются с помощью Ctrl+2 R и Ctrl+2 L. Список горячих клавиш для других вариантов доступен на странице параметров Клавиши Общие > Клавиши.

Страница параметров с клавишами для быстрой помощи

Окружайте строки Для того чтобы поместить операторы в оператор или блок if / while / for, выберите нужные строки и нажмите Исходный код > Окружить или Alt+Shift+Z.

Быстрая помощь 'Окружить шаблонами'

Пункты в меню получаются из шаблонов редактора, все шаблоны, содержащие переменную ${line_selection}, будут показаны в меню.

Шаблоны можно изменять на странице параметров Шаблоны Java > Редактор > Шаблоны. Для получения нужного окончательного кода измените существующие шаблоны или определите свои собственные.
Создавайте свои собственные шаблоны Для создания собственного шаблона перейдите на страницу параметров Шаблоны Java > Редактор > Шаблоны и нажмите кнопку Создать. Например, шаблон цикла, в котором переменная цикла пробегается в обратном направлении, может выглядеть следующим образом:

шаблон итератора

Помощник по содержимому может автоматически вставлять имена параметров Можно заставить помощник по содержимому автоматически вставлять имена параметров в завершение метода. Эту опцию можно настроить на странице параметров помощник по содержимому Java > Редактор > Помощник по работе с содержимым (см. переключатель Заполнять имена параметров при завершении метода). Например, если выбрать в показанном ниже окне вторую запись,

помощник по содержимому

помощник по содержимому автоматически вставит имена параметров:

помощник по содержимому

Для перехода по вставленным именам используйте клавишу табуляции.

На основании объявленных типов параметров помощник по содержимому может делать заключения о предполагаемом виде их имен. Для включения этой опции отметьте переключатель Делать предположения об именах параметров на странице параметров помощник по содержимому Java > Редактор > Помощник по работе с содержимым.

Автоматическая вставка аргументов типа
При работе с параметризованными типами в J2SE 5.0 также полезно включить опцию Подставлять имена аргументов при завершении методов на странице параметров помощник по содержимому Java > Редактор > Помощник по работе с содержимым.
помощник по содержимому
и результат этого действия:
помощник по содержимому
Удаление окружающего оператора Для того чтобы удалить окружающий оператор или блок, поместите курсор на открывающую или закрывающую скобку и нажмите клавиши Ctrl+1 (Правка > Быстрое исправление).

Быстрая помощь 'Удалить окружающий оператор'

Повторная проверка слова Поддержку проверки орфографии в редакторе Java можно включить на странице параметров Орфография Общие > Редактор > Текстовые редакторы > Орфография. Орфографические ошибки отображаются в редакторе Java; для них доступны соответствующие Быстрые исправления:

Пример варианта исправления орфографических ошибок.

Для помощника по работе с содержимым можно сделать доступным орфографический словарь. Однако в настоящее время словари в Eclipse не включены. Словарь должен задаваться в виде списка слов, разделенных символами новой строки; функция Быстрые исправления позволяет оперативно добавлять в него новые слова. Добавление словарей приветствуется.

Структурный выбор Опция Структурный выбор позволяет быстро выбирать синтаксические элементы кода Java.
Выделите текст и нажмите клавиши Alt+Shift+Стрелка вверх или выберите в строке меню пункт Правка > Распространить выбор на > Окружающий элемент; выбор будет распространен на наименьший элемент синтаксиса Java, содержащий выделенный текст. Выбор можно распространять и далее, повторно вызывая указанное действие.
Поиск парной скобки Для того чтобы найти парную скобку, выберите открывающую или закрывающую скобку и нажмите клавиши Ctrl+Shift+P (Навигация> Перейти > Парная скобка). Можно также дважды щелкнуть кнопкой мыши перед открывающей или после закрывающей скобки, при этом будет выбран текст между двумя парными скобками.

Использование двойного щелчка мышью для выбора текста между двумя скобками

Интеллектуальный Javadoc Введите '/**' и нажмите Enter. Автоматически будет добавлена заглушка комментария Javadoc, содержащая стандартные теги @param, @return и @exception.

Результат 'Интеллектуального Javadoc'

Шаблоны для нового комментария можно настроить на странице параметров шаблоны кода Java > Стиль кода > Шаблоны кода.
Показывать исходный текст только выбранного элемента Нажмите кнопку Показать исходный код только выбранного элемента Показать исходный код только выбранного элемента еще раз, чтобы увидеть весь файл. Если эта опция включена, то редактор Java показывает только элемент, выбранный в панелях Схема или Иерархия. Если эта опция выключена, то редактор Java покажет всю единицу компиляции.
Используйте локальную хронологию для возврата к предшествующему варианту метода При редактировании файла содержимое его предыдущих версий сохраняется в локальной хронологии. Инструментарий Java делает локальную хронологию доступной элементам Java, поэтому пользователь может вернуться к предыдущему варианту отдельного метода, не открывая весь файл целиком.

Для возврата предыдущему варианту элемента выберите этот элемент (например, в панели Схема) и воспользуйтесь опцией Заменить на > Локальная хронология.

Окно диалога Заменить из локальной хронологии

Используйте локальную хронологию для восстановления удаленных методов При редактировании файла содержимое его предыдущих версий сохраняется в локальной хронологии. Инструментарий Java делает локальную хронологию доступной элементам Java, поэтому пользователь может выборочно восстановить удаленные методы.

Для восстановления каких-либо удаленных элементов выберите контейнер (например, в панели Схема) и вызовите команду Восстановить из локальной хронологии.

Окно диалога Восстановить из локальной хронологии

Настраиваемая генерация кода На странице параметров Шаблоны кода Java > Стиль кода > Шаблоны кода можно настроить пользовательские шаблоны для генерации кода и комментариев, как обычные шаблоны. Эти шаблоны кода будут всегда применяться при генерации кода.

Шаблоны кода

Начиная с версии 3.1 возможно применять шаблоны кода для отдельных проектов, которые также будут использоваться совместно, если проект является общим. Откройте Свойства проекта, чтобы задать особые параметры для проекта.
Создавайте комментарии в коде Комментарии можно добавлять явно с помощью команды Исходный код > Добавить элемент комментария (Alt+Shift+J) или автоматически с помощью различных мастеров, действий рефакторинга или быстрых исправлений.
Шаблоны комментариев можно настраивать на странице параметров Шаблоны кода Java > Стиль кода > Шаблоны кода.
Включить или отключить автоматическое создание комментариев можно либо прямо в мастере (например, с помощью переключателя Генерировать комментарии мастера создания типов Java, либо с помощью переключателя Автоматически добавлять комментарии для новых методов и типов на странице Стиль кода Java > Стиль кода.
Все эти параметры можно настроить для отдельных проектов. Откройте Свойства проекта, чтобы включить особые параметры проекта.
Сортировать элементы Можно сортировать элементы единицы компиляции Java в соответствии с порядком категорий, определенным на странице параметров Порядок сортировки элементов Java > Вид > Порядок сортировки элементов.
Это действие располагается на вкладке Исходный код > Сортировать элементы.
Перенос строк При редактировании строковых констант их можно переносить. Например, если есть следующий код:
String message= "Это очень длинное сообщение.";

установите курсор после слова "очень" и нажмите клавишу Enter. Код автоматически изменится и приобретет следующий вид:

String message= "Это очень" +
           " длинное сообщение.";

Эту опцию можно изменить на странице параметров Ввод текста Java > Редактор > Ввод текста.

Интеллектуальный ввод с клавиатуры и управление им Опции интеллектуального ввода с клавиатуры редактора Java сильно облегчают повседневную работу. Эти опции можно изменить на странице параметров Ввод текста Java > Редактор > Ввод текста.

Страница параметров ввода с клавиатуры Редактора Java

Опция Автоматически вставлять точку с запятой в правильной позиции позволяет помещать курсор в конце оператора при вводе точки с запятой. Это избавляет от необходимости перемещать курсор вручную.
Для удаления автоматически вставленной точки с запятой следует сразу нажать клавишу backspace.

Исправление отступов в коде одним нажатием клавиши Воспользуйтесь опцией Исходный код > Корректировать отступы или Ctrl+I.
Выберите код, содержащий неправильные отступы, и вызовите указанное действие.

Если ничего не выбрано, отступ будет увеличен для текущей строки.

Меню быстрого доступа для действий над исходным кодом и операций рефакторинга К операциям рефакторинга и действиям над исходным кодом можно обращаться с помощью меню быстрого доступа. Выберите нужный элемент в редакторе Java или панели Java и нажмите клавиши Alt+Shift+S для вызова меню быстрого доступа для исходного кода, клавиши Alt+Shift+T - для рефакторинга или Alt+Shift+Z - для операции включения фрагмента.

Меню быстрого доступа к операциям рефакторинга

Поиск неиспользуемого кода Компилятор Java обнаруживает недостижимый код, неиспользуемые переменные, параметры и директивы импорта, а также неиспользуемые закрытые типы, методы и поля. Эта функция включается на странице Ошибки/предупреждения Java > Компилятор > Ошибки/предупреждения (или устанавливается для отдельного проекта с помощью опций Проект > Свойства > Компилятор Java > Ошибки/предупреждения).

Страница параметров компилятора

Все эти элементы обнаруживаются при вводе, и функция быстрого исправления предлагает удалить неиспользуемый код.
Обработка комментариев Javadoc Компилятор Java Eclipse может обрабатывать комментарии Javadoc. Средство поиска находит ссылки в комментариях doc, которые обновляются с помощью рефакторинга. Эта функция включается на странице неполадки Javadoc Java > Компилятор > Javadoc (или устанавливается для отдельного проекта с помощью опций Проект > Свойства > Компилятор Java > Javadoc).

Страница параметров Javadoc

Если указанная функция включена, то неправильные комментарии Javadoc маркируются в редакторе Java, и их можно исправить с помощью Быстрого исправления Правка > Быстрое исправление (Ctrl+1):

Ошибки в Javadoc

выключить предупреждения В J2SE 5.0 и выше все необязательные предупреждения компилятора можно выключить аннотацией SuppressWarnings.
В этом примере метод addAll() помечен как неиспользуемый. Для добавления аннотации SuppressWarnings используется Быстрое исправление (Ctrl+1). После этого для этого метода предупреждение показываться не будет.
Быстрое исправление - добавить аннотацию SuppressWarning
Мастер очистки
Новое в версии 3.2
Мастер очистки устраняет группы неполадок и позволяет унифицировать стиль кода.
Например, можно выполнить следующее:
  • преобразовать все циклы for в расширенные циклы for.
  • пометить все переопределяющие методы в проекте аннотацией @Override.
Мастер также помогает преобразовать исходный код для Java 1.4 в код для Java 5.0.

мастер очистки

Выберите проект, пакет или файл и вызовите мастер в меню Исходный текст > Очистить....

Рефакторинг

Сценарии рефакторинга
Новое в версии 3.2
Большая часть операций рефакторинга в JDT может выполняться как интерактивно, так и посредством сценариев.

Создайте сценарий рефакторинга из хронологии рефакторинга, вызвав Рефакторинг > Создать сценарий....

Сценарий рефакторинга можно впоследствии выполнить в рабочей области, вызвав Рефакторинг > Выполнить сценарий....

Сценарии рефакторинга позволяют автоматизировать задачи исправления измененных API или применения сложных исправлений.
Безопасный перенос файлов JAR
Новое в версии 3.2
При экспорте файла JAR из рабочей области мастер экспорта JAR предлагает включить информацию о рефакторинге в файл JAR.

Выберите Файл > Экспорт... и далее Файл JAR. На первой странице мастера экспорта JAR выберите Экспортировать операции рефакторинга для выбранных проектов. Щелкните на ссылке, чтобы указать операции рефакторинга.

После этого клиенты смогут перенести старую версию файла JAR с помощью рефакторинга Рефакторинг> Перенести файл JAR.... Этот рефакторинг автоматически обновляет код, применяющий старую версию файла JAR.

Поиск

Поиск переменных и обращений к ним для чтения/записи Для того чтобы найти переменную и просмотреть ее состояние чтения/записи, следует выбрать идентификатор (переменную, ссылку на тип или метод или объявление) и вызвать Поиск > Вхождения в файл. Будут помечены все ссылки на этот идентификатор в файле. Результаты будут также показаны в панели Поиск, вместе со значками, отображающими обращение к этой переменной для чтения или записи.

Обращение к полю для чтения или записи

Опция Маркировать вхождения позволяет выполнять динамическое выделение вхождений. Можно выполнять поиск в нескольких файлах с помощью общих средств поиска (Поиск > Ссылки).

Поиск методов, возвращающих указанный тип Для поиска методов, возвращающих указанный тип, используйте шаблон "* <return type>":
  • Откройте окно поиска и выберите вкладку Поиск Java.
  • В поле Искать строку введите символ '*' и возвращаемый тип, разделенные пробелом.
  • Отметьте переключатель С учетом регистра.
  • Выберите Метод и Объявления и нажмите кнопку Найти.

Поиск метода, возвращающего заданный тип

Фильтрация результатов поиска в Javadoc По умолчанию функция Поиск Java ищет ссылки внутри кода Java и Javadoc. Если не требуется искать ссылки внутри Javadoc, то эти совпадения можно отфильтровать, включив опцию 'Отфильтровать Javadoc' в меню панели (символ треугольника) или панели Поиск.
Отфильтровать потенциальные совпадения Потенциальные совпадения возникают тогда, когда во время компиляции возникает неполадка, и служба поиска не может найти точное совпадение. Такие совпадения можно отфильтровать опцией Отфильтровать потенциальные совпадения в меню панели Поиск (треугольник).
Трассировка цепочек вызовов метода с помощью иерархии вызовов Новая функция Иерархия вызовов позволяет прослеживать длинные или сложные цепочки вызовов без потери первоначального контекста: достаточно выбрать нужный метод и вызвать опцию Перейти > Открыть иерархию вызовов (Ctrl+Alt+H).

Панель иерархии вызовов

Навигация по коду и чтение

Открытие выбора в редакторе Java Открыть элемент по ссылке в редакторе Java можно двумя способами.
  • Выберите ссылку в коде и нажмите клавишу F3 (Перейти > Открыть объявление)
  • Удерживая нажатой клавишу Ctrl , переместите указатель мыши и щелкните на гиперссылке
Навигация в стиле гиперссылок
Навигацию в стиле гиперссылок можно настроить с помощью опции Навигация как по гиперссылкам на странице Текстовые редакторы Общие > Редактор > Текстовые редакторы.
Схемы 'по месту' Для того чтобы получить всплывающую схему элемента в текущей позиции курсора в редакторе Java, нажмите клавиши Ctrl+F3. Для того чтобы получить всплывающую схему текущего файла исходного кода, нажмите Ctrl+O (Перейти > Быстрая схема).

Схема 'По месту'

В схемах 'по месту' отображаются наследуемые элементы Для того чтобы добавить наследуемые элементы в схему, открытую 'на месте', нажмите Ctrl+O или Ctrl+F3. Наследуемые элементы будут помечены серым цветом. Для фильтрации и сортировки схемы применяется меню, расположенное в верхнем правом углу.

Быстрый просмотр схемы

Иерархия 'по месту' С помощью быстрой иерархии типов найдите возможных получателей виртуального вызова. Поместите курсор внутрь вызова метода и нажмите Ctrl+T (Перейти > Быстрая иерархия типов). В панели будут показаны все типы, реализующие этот метод, вместе со значком.

Панель Быстрая иерархия

Нажмите Enter, чтобы открыть соответствующий метод в редакторе. Еще раз нажмите Ctrl+T, чтобы переключиться в иерархию базовых типов.

Расширенное выделение Редактор Java может выделять исходный код в соответствии с его семантикой (например, статические поля, локальные переменные, вызовы статических методов). Просмотрите опции на странице параметров Подсветка синтаксиса Java > Редактор > Подсветка синтаксиса.

Пример расширенного выделения.

Первоначально свернутые области Можно задавать, какие области показываются как свернутые при открытии редактора. Для этого откройте страницу параметров Свертывание Java > Редактор > Свертывание.

Страница параметров свертывания

Маркировка вхождений Работая в редакторе, включите Маркировку вхождений в строке инструментов (Изображение кнопки панели инструментов Маркировать вхождения) или нажмите Alt+Shift+O. В файле будет показана переменная, метод или тип.
Редактор с маркированными вхождениями 'info'
При выборе возвращаемого типа будут показаны точки выхода метода. При выборе ситуации будет показано место ее возбуждения.
Редактор с маркированными выходами метода
Выберите базовый класс или интерфейс и просмотрите переопределения методов или реализации методов выбранного базового типа.
Параметры маркировки можно изменить на странице параметров Маркировка вхождений Java > Редактор > Маркировка вхождений.
Цвет маркировки можно изменить на странице параметров Аннотации Общие > Редактор > Текстовые редакторы > Аннотации.
Переход к следующему / предыдущему методу Для быстрого перехода к следующему или предыдущему методу или полю нажмите клавиши
Ctrl+Shift+Стрелка вверх (или выберите опции Перейти > Перейти к > Предыдущему элементу) или Ctrl+Shift+Стрелка вниз (Перейти > Перейти к > Следующему элементу)
Управление перемещением по аннотациям Кнопки панели инструментов Следующая / Предыдущая аннотация и опции Перейти > Следующая аннотация (Ctrl+.) и Перейти > Предыдущая аннотация (Ctrl+,) позволяют перемещаться по аннотациям в файле исходного кода Java. Аннотации, на которых следует остановиться, можно задать в выпадающем меню кнопки:

Выпадающее меню Следующая/Предыдущая аннотация.

Напоминания в коде Java Если пометить комментарий в исходном коде Java тегом "TODO", то компилятор Java автоматически создаст соответствующую задачу в качестве напоминания. При открытии этой задачи вы вернетесь обратно в этот код к метке "TODO". Другие специальные теги, которые вы хотели бы отслеживать в списке задач (например, "FIXME"), можно задать на странице параметров Задачи Java > Компилятор > Теги задач.

Теги задач в редакторе и панель Задачи

Приемы работы с окном Открыть тип
Окно Открыть тип (Навигация> Открыть тип или кнопка панели инструментов) позволяет найти тип по его имени.
  • Для того чтобы быстро найти тип, введите только заглавные буквы его имени, IOOBE для поиска IndexOutOfBoundsException.
  • Для того чтобы просмотреть все типы с заданным суффиксом, например, Tests, применяйте *Test<; чтобы скрыть все типы с Test введите это где-то еще в имени типа.
Открыть тип - совпадение по заглавным буквам
Сделать всплывающие подсказки закрепленными Клавиша F2 (Правка > Показать описание подсказки) позволяет открыть текст всплывающей подсказки в окне с прокруткой. Содержимое этого окна можно выбирать и копировать.

Окно, показывающее содержимое всплывающей подсказки

Всплывающие подсказки в редакторе Java Для просмотра различных всплывающих подсказок в редакторе Java используются модифицирующие клавиши (Shift, Ctrl, Alt).
Если в редакторе Java поместить указатель мыши на идентификатор, то по умолчанию будет показана всплывающая подсказка с Javadoc, извлеченной из соответствующего исходного кода этого элемента. Если нажать и удерживать клавишу Ctrl, то будет показан исходный код.

Всплывающая подсказка, содержащая код элемента

Изменить этот режим и определить всплывающие подсказки для других модифицирующих клавиш можно на странице параметров Всплывающие подсказки Java > Редактор > Всплывающие подсказки.
Вычисление сигнатуры параметризуемого метода
Вариант сигнатуры параметризуемого метода показывается при наведении мыши.

Вариант сигнатуры параметризуемого метода показывается при наведении мыши

Открытие и настройка внешней документации по Java Если требуется открыть документацию Javadoc для типа, метода или поля с помощью Shift+F2 (Перейти > Открыть внешнюю документацию Javadoc), то сначала необходимо задать ее расположение для библиотеки (JAR, папка классов) или проекта (папка исходного кода) предка этих элементов.
Откройте для библиотек страницу путей компоновки (Проект > Свойства > Путь к классам Java для компоновки), перейдите на вкладку Библиотеки, разверните узел библиотеки, в котором можно редактировать узел 'Расположение Javadoc'. Документация может быть локальной и находиться в вашей файловой системе в папке или архиве, или она может находиться на Web-сервере.

Настройка расположения Javadoc в окне диалога Путь компоновки Java

Для типов, методов и полей в папках исходного кода перейдите в Проект > Свойств > Расположение Javadoc).

Панели Java

Структуризация рабочей области с многими проектам В меню панели Структура пакетов входит пункт Элементы верхнего уровня > Рабочие наборы. В этом режиме рабочие наборы показываются как элементы верхнего уровня. Этот режим удобен при работе с рабочей областью, содержащей много проектов.

Структура пакетов - режим Рабочие наборы

Используйте пункт Настроить рабочие наборы меню Структура пакетов для настройки показываемых рабочих наборов. В этом окне можно создать новые рабочие наборы Java и задать число и порядок отображения рабочих наборов. Рабочие наборы можно также упорядочить прямо в панели Структура пакетов, перетаскивая их мышью или копируя и вставляя.

Панель Объявление Панель Объявление ( объявления Java Окно > Показать панель > Прочие > Java > Объявление) отображает исходный код элемента, выбранного в редакторе Java или в панели Java.

Панель Объявление

Панель Javadoc Новая панель Javadoc ( панель Javadoc Окно > Показать панель > Прочие > Java > Javadoc) отображает документацию Javadoc по элементу, выбранному в редакторе Java или панели Java. Панель Javadoc использует управляющий элемент Браузер SWT для отображения HTML для поддерживающих его платформ.

Панель Javadoc

Панель Иерархия типов и определения / реализации методов Для того чтобы найти в иерархии типы, которые переопределяют метод, воспользуйтесь опцией 'Показать элементы в иерархии'.
  • Выберите нужный метод и нажмите F4 (Перейти > Открыть иерархию типов). Панель Иерархия типов откроется на типе, объявляющем данный метод.
  • Выбрав метод в панели Иерархия, нажмите кнопку панели инструментов 'Блокировать панель и показать элементы в иерархии'.
  • В панели Иерархия будут показаны только типы, которые реализуют или определяют 'блокированный' метод. Например, можно увидеть, что isEmpty() определен в List и реализован в ArrayList и Vector, но не в AbstractList.

Блокировать панель и показать элементы в иерархии

Панель Иерархия типов поддерживает группирование по определению типа Панель Метод иерархии типов позволяет сортировать методы выбранного типа по определяющим его типам. Например, тип AbstractList содержит методы, которые были определены в типах Object, Collection и List:

Сортировка элементов в иерархии типов по определению типа

Приемы работы с иерархией типов
  • Активируйте Иерархию типов для нового типа, нажав F4 (Перейти > Открыть иерархию типов) на элементе или выбранном имени.
  • Панель Иерархия можно открыть не только для типов, но и для пакетов, папок исходного кода, архивов JAR и проектов Java.
  • Для того чтобы активировать иерархию типов для элемента, этот элемент можно с помощью мыши перенести и положить в панель Иерархия.
  • С помощью панели инструментов можно изменить ориентацию панели Иерархия (с вертикальной, действующей по умолчанию, на горизонтальную).
Структурное сравнение исходного кода Java Структурное сравнение исходного кода Java игнорирует порядок элементов Java (методов и полей) в тексте, и показывает, какие элементы были изменены, добавлены или удалены.
Структурное сравнение файлов Java можно выполнять двумя способами:
  • Выберите две единицы компиляции Java и в контекстном меню панели выберите пункт Сравнить с > Друг с другом. Если в файлах есть различия, то они будут открыты в Редакторе сравнения. Различающиеся элементы Java отображаются в верхней панели; если дважды щелкнуть на одном из этих элементов, то в нижней панели будет показан его исходный код.
  • В любом контексте, допускающем сравнение файлов (например, в панели Синхронизация CVS) дважды щелкните на файле Java. При этом в средстве отображения текстового сравнения будет показано содержимое этого файла, и, кроме того, будет выполнено еще и структурное сравнение с выводом результатов в отдельную панель.

Структурное сравнение исходного кода Java

При выполнении структурного сравнения можно игнорировать комментарии и изменения в формате; для этого включите опцию Игнорировать пробелы, символы табуляции и пустой строки с помощью кнопки панели инструментов Редактора сравнения или с помощью выпадающего меню панели Синхронизация CVS.
Структурное сравнение файлов свойств При структурном сравнении файлов свойств Java (то есть файлов с расширением .properties) игнорируется порядок свойств в тексте и показывается, какие свойства были изменены, добавлены или удалены.
Структурное сравнение файлов свойств можно выполнять двумя способами:
  • В панели Структура пакета или Навигатор выберите два файла и в контекстном меню панели выберите пункт Сравнить с > Друг с другом.
  • В любом контексте, допускающем сравнение файлов (например, в панели Синхронизация CVS) дважды щелкните на файле свойств. При этом в средстве отображения текстового сравнения будет показано содержимое этого файла, и, кроме того, будет выполнено еще и структурное сравнение с выводом результатов в отдельную панель.

Структурное сравнение файлов свойств

Иерархическая и простая схема пакетов В меню панели Пакеты Java (и панели Структура пакетов) предусмотрена опция, позволяющая изменять способ отображения пакетов. Опция Схема пакета > Иерархическая отображает пакеты в виде дерева, когда подпакеты располагаются ниже пакетов; при выборе опции Схема пакета > Простая выводится простой список, в котором все пакеты и подпакеты располагаются на одном уровне.
Простая схема пакетов Иерархическая схема пакетов
Логические пакеты Панель Пакеты Java (проекция Просмотр Java) объединяет пакеты с одинаковым именем из папок исходного кода одного проекта. Ниже показана панель Пакеты, содержащая логический пакет.

Проекция Просмотр Java, содержащая логический пакет

Сжатие имен пакетов Если имена пакетов очень длинные, можно настроить сжатые имена, которые будут выводиться в средствах отображения. Настройка шаблона сжатия выполняется в окне Вид Java > Вид.

Настройка шаблона сжатия на странице параметров Вид Java

В данном примере пакеты выводятся следующим образом:

Сжатые имена пакетов

Работа с путем компоновки Java в панели Структура пакетов Вместо изменения пути компоновки Java на странице Проект > Свойства > Путь компоновки Java используйте действия контекстного меню панели Структура пакетов.
Можно добавить новые исходные папки, архивы и библиотеки в путь компоновки, или исключить файл или папку из числа исходных.

контекстное меню

Группы неполадок Java
Новое в версии 3.2
В меню Вид панели Неполадки включен пункт Сгруппировать по > Типу неполадки Java.

панель Неполадки

На странице параметров Компоновка Java > Компилятор > Компоновка можно указать, будут ли настраиваемые ошибки считаться фатальными.
Индикатор типов Java
Новое в версии 3.2
Индикатор типов Java можно включить на странице параметров оформление меток Общие > Вид > Оформление меток, чтобы найти первый тип в единице компиляции или файле класса. Интерфейсы, аннотации и перечисления выделяются метками, а обычные классы не выделяются.

метки типов Java

Прочее

Особые параметры проекта Стиль кода и опции компилятора можно задавать для каждого проекта в отдельности.
Для того чтобы задать особые параметры проекта, откройте страницу Проект > Свойства или щелкните на ссылке в параметрах рабочей области (например, Стиль кода Java > Стиль кода).

Особые параметры проекта

Особые параметры проекта хранятся в файле конфигурации в проекте (в папке '.settings'). При работе с общим проектом эти особые параметры будут доступны всем участникам.
Правила доступа
Правила доступа задают правила API для типов из связанных библиотек. На странице Проект > Свойства > Путь компоновки Java) измените узел 'Правила доступа' проекта, архива, папки классов или библиотеки.
Пакеты или типы этих ссылок классифицируются как:
  • Доступный
  • Нежелательные
  • Запрещенный
Компилятор выдает сообщения об ошибках или предупреждения о наличии нежелательных и запрещенных ссылок в соответствии с параметрами, указанными в окне Ошибки/предупреждения Java > Компилятор > Ошибки/предупреждения.

окно конфигурации - Правила доступа

JUnit Выберите метод тестирования JUnit в панели и выберите Выполнить > Тест JUnit в контекстном меню или Выполнить > Выполнить как > Тест JUnit в главном меню. Будет создана конфигурация запуска для выполнения выбранного теста.
Как скрыть панель JUnit до появления ошибок или сбоев Можно сделать так, чтобы панель JUnit открывалась только при возникновении ошибок или сбоев. Таким образом, набор панелей может существовать как быстрая панель, которая никогда не открывается, если тесты выполняются без ошибок. Если в тестах нет ошибок, то во время их выполнения будет показан значок Выполняется успешно (число зеленых квадратиков будет расти, свидетельствуя о выполнении теста), а по завершении - значок Завершен успешно. Однако при возникновении ошибки или сбоя этот значок изменится на Возникли сбои или ошибки (или Завершен из-за сбоя или ошибки, если тест завершается), и появится панель JUnit.
Помощник по работе с содержимым в полях окон В настоящее время Помощник по работе с содержимым (Ctrl+Space) доступен в полях ввода в различных окнах Java. Поищите небольшой значок в виде лампочки рядом с полем, которое активно.

Окно диалога Создание класса

Интеллектуальное размещение курсора в окнах с именами Java
Новое в версии 3.2
В полях для редактирования имен Java поддерживается интеллектуальное размещение курсора. Нажатием Ctrl+Влево и Ctrl+Вправо можно перемещать курсор по словам внутри имени. Ctrl+Shift+Left и Ctrl+Shift+Right позволяют выделять фрагменты имени. Используйте Ctrl+Delete и Ctrl+Backspace для удаления части имени до и после курсора.

Интеллектуальное размещение курсора
Ctrl+Right:
Интеллектуальное размещение курсора
Ctrl+Shift+Right:
Интеллектуальное размещение курсора
write "Equal":
Интеллектуальное размещение курсора
Ctrl+Delete:
Интеллектуальное размещение курсора
write "To":
Интеллектуальное размещение курсора
Определение префиксов или суффиксов для полей, параметров и локальных переменных Префикс и суффикс можно задавать для полей, для статических полей, параметров и локальных переменных. Эти параметры задаются на странице Стиль кода Java > Стиль кода и используется в помощнике по содержимому, быстрых исправлениях и рефакторинге.

страница Стиль кода - соглашения об именах

Опция Упорядочить директивы импорта работает для нескольких файлов Опцию Исходный текст > Упорядочить директивы импорта можно вызывать для набора единиц компиляции, пакетов, папок исходного кода или проектов Java.
Форматирование нескольких файлов Выберите для форматирования все файлы Java, и чтобы отформатировать их все, выберите Исходный код > Форматировать. Это действие по форматированию доступно также для пакетов, папок исходного кода и проектов Java.
Использование для проекта определенной среды выполнения Java (JRE) К новым проектам по умолчанию привязывается одна из сред JRE, выбранных в окне Установленные JRE Java > Установленные JRE. Для того чтобы установить среду выполнения Java конкретного проекта, откройте страницу свойств путей к классам Java для компоновки (Проект > Свойства > Путь к классам Java для компоновки), затем страницу Библиотеки, выберите 'Системная библиотека JRE' и нажмите кнопку Изменить. В окне 'Изменить библиотеку' в качестве среды, добавляемой к новым проектам, можно выбрать среду выполнения Java по умолчанию, среду JRE конкретного проекта или среду выполнения.

Изменение системной библиотеки среды выполнения Java

Перетаскивание мышью Перетаскивание мышью часто удобнее функций Правка > Вырезать и Правка > Вставить и Правка > Скопировать и Правка > Вставить. Клавиша Ctrl позволяет переключиться между режимами копирования и перемещения.

Учтите следующее:

  • Перетаскивание мышью единиц компиляции Java между пакетами действует как рефакторинг - будут добавлены отсутствующие объявления импорта и обновлены ссылки.
  • Перетаскивание мышью таких элементов кода, как типы и методы, не приведет к обновлению ссылок.
Распространение тега deprecation Компилятор Java может выполнять диагностику устаревшего кода. Параметры диагностики задаются в окне Ошибки/предупреждения Java > Компилятор > Ошибки/предупреждения.

Страница параметров компилятора

Результат использования этой конфигурации будет следующим:

I.java

X.java

Y.java

Если невозможно исправить формат устаревшей конструкции, рекомендуется пометить как устаревший включающий ее метод, поле или тип. Таким образом, будет подтверждено, что переопределение устаревшей конструкции выполнено, а флаг deprecation будет передан в зависимые объекты.

X.java

Y.java

Восстановление согласованности после аварии В редких случаях неправильной работы инструменты разработки JDT может обнаруживать определенную несогласованность, например:
  • отсутствие результатов в панели Поиск Java или Открыть тип
  • неправильные элементы в структуре пакета

Для восстановления согласованности JDT необходимо выполнить следующие действия (точно в указанной последовательности):
  1. Закройте все проекты с помощью действия меню навигатора Закрыть проект
  2. Перезапустите Eclipse
  3. Откройте все проекты с помощью действия меню навигатора Открыть проект
  4. Вручную запустите процесс компоновки всей рабочей области с очисткой (Проект > Очистить...)

Отладка

Запуск из контекстного меню

Выполнить и отладить приложение на Java можно с помощью контекстного меню файла исходного кода, пакета, метода, типа и т.д. Для запуска выберите в контекстном меню пункт Выполнить как(или Отладить как) > Приложение Java. Можно также воспользоваться комбинацией для запуска приложения на Java (Alt+Shift+D, J). Действия Выполнить как (или Отладить как) также зависят от выбранного элемента или активного редактора.

Контекстное меню с опцией запуска

Вычисления в отладчике

Вычисление фрагмента доступно в нескольких местах отладчика. Если выбрать пункт Показать или Проверить в контекстном меню редактора или панели Переменные, то появится всплывающее окно с результатом, который можно отправить в панели Просмотр или Выражения.

Результат проверки во всплывающем окне

Управление панелями в проекциях, не входящих в панель Отладка

Панель Отладка автоматически управляет панелями, связанными с отладкой для выбранной панели (например, отображением панелей Java для фреймов стека Java и панелей C для фреймов стека C). По умолчанию, функция автоматического управления панелями работает только в проекции Отладка, однако ее можно включить и для других проекций; это можно сделать на странице параметров Управление панелями, доступной в выпадающем меню панели инструментов панели Отладка.

Переменные среды

Среду для запуска приложений Java можно задавать на вкладке Среда.

Вкладка Среда в окне конфигурации запуска

Подстановка строк

Для многих параметров конфигураций запуска приложений на Java поддерживаются переменные. Рядом с большинством полей, поддерживающих переменные, например, программы или виртуальной машины, расположена кнопка Переменные.... Поле Тип main также поддерживает переменные; переменная ${java_type_name} позволяет создавать конфигурацию, которая будет запускать выбранный тип.

конфигурация запуска - вкладка аргументов

Логические структуры

Переключатель Логические структуры в панели инструментов панели Переменные представляет альтернативные структуры для общих типов. JDT предоставляет логические панели для схем, наборов и комплектов SWT. Логические структуры для других типов задаются на странице Логические структуры.

Вектор, показанный в виде логической структуры в панели Переменная

Параметры по умолчанию для виртуальной машины

Если для определенной виртуальной машины приходится часто задавать одни и те же параметры, то на странице параметров Установленные среды выполнения Java можно настроить Параметры по умолчанию для виртуальной машины. Это гораздо удобнее, чем задавать их для каждой конфигурации запуска.

Страница параметров среды выполнения Java с заданным параметром по умолчанию

Остановить в main

Опция Остановить в main в конфигурации запуска приложения на Java позволяет остановить отлаживаемую программу на первой исполняемой строке метода main.

Вкладка Главные с выбранной опцией Остановить в main

Условные точки прерывания Условные точки прерывания, которые задаются на странице Свойства точек прерывания... позволяют управлять прерыванием выполнения. Можно указать, в каком случае точка прерывания должна приостанавливать выполнение: только когда условие истинно, или когда значение условия изменяется.

свойства точки прерывания - условие прерывания

Отключение точек прерывания

Если в одном и том же месте постоянно приходится то добавлять, то удалять точку прерывания, рассмотрите возможность ее отключения, когда она не нужна, и включения, когда она вновь потребуется. Это можно сделать с помощью пункта Отключить точку прерывания в контекстном меню или путем отмены выбора точки прерывания в панели Точки прерывания.

Действие Пропустить все точки прерывания в панели инструментов панели Точки прерывания позволяет временно отключить все точки прерывания. Отладчик пропустит все точки прерывания, хотя они останутся во включенном состоянии.

Действие Отключить точку прерывания в контекстном меню линейки

Изменение значений переменных

При приостановке нити в отладчике в панели Переменные можно изменить значения примитивов Java и объектов String. В контекстном меню переменной выберите Изменить значение переменной. Изменить значение можно и другими способами: можно или ввести новое значение в панели Сведения, или выполнить действие Присвоить значение в контекстном меню (соответствующая комбинация клавиш - CTRL+S).

Окно Изменить значение переменных

Значения переменных во всплывающей подсказке Если приостановить нить и поместить курсор в редакторе Java на переменную, то значение этой переменной появится как всплывающая подсказка.

Всплывающее значение переменной в редакторе

Сброс во фрейм

При пошаговом выполнении кода можно сделать лишние шаги, или пропустить строку, которую следовало трассировать. В этом случае можно не перезапускать сеанс отладки, а с помощью действия Сбросить во фрейм быстро вернуться к началу метода. Выберите фрейм стека, соответствующий методу Java, с которого следует повторно запустить отладку, и выполните действие Сбросить во фрейм в панели инструментов панели Отладка или в контекстном меню фрейма стека. Указатель текущей команды будет переустановлен на первый исполняемый оператор в этом методе. Этот механизм работает и для фреймов стека более низких уровней.

Обратите внимание на то, что команда Сбросить во фрейм доступна только при отладке на виртуальной машине версии 1.4 и выше, или на виртуальной машине J9. В некоторых случаях JVM не в состоянии извлечь нужные фреймы из стека. Например, вообще невозможно выполнить сброс в нижний фрейм стека или в любой фрейм ниже собственного метода платформы (метода native).

Оперативная замена кода Для виртуальных машин версии 1.4 и выше или для виртуальной машины J9 отладчик поддерживает оперативную замену кода, то есть код можно изменять прямо в процессе его отладки. Обратите внимание на то, что оперативная замена некоторых изменений, например, новых или удаленных методов, переменных классов или внутренних классов, поддерживается не во всех версиях виртуальных машин.
Трассировка выбранного фрагмента с заходом в методы

Отладчик Java позволяет трассировать отдельный метод в цепочке вызовов или в серии вложенных вызовов методов. Просто выделите нужный метод и выберите пункт Трассировка выбранного фрагмента с заходом в методы в контекстном меню редактора Java.

Эта функция работает не в выполняемой строке, а в другом месте. Попробуйте выполнить отладку до точки прерывания и трассировать метод, расположенный на несколько строк ниже указателя на текущую команду.

зайти в метод

Фиксация и блокировка консоли Действие Зафиксировать консоль позволяет блокировать для заданного процесса вывод на консоль. Есть также действие Блокировать прокрутку, которое запрещает прокрутку консоли при добавлении нового вывода.
Создание отслеживаемых элементов Отслеживаемый элемент - это выражение в панели Выражения, значение которого обновляется при отладке. Отслеживаемые элементы можно создавать в редакторе Java; для этого следует выбрать выражение или переменную и выбрать в их контекстном меню пункт Отслеживать или в меню верхнего уровня - пункт Выполнить.
Точки наблюдения

Точка наблюдения - это точка прерывания, которая приостанавливает выполнение при обращении к указанному полю или при его изменении. Для установки точки наблюдения выберите поле в панели Схема и в его контекстном меню выберите пункт Переключить точку наблюдения. Для настройки точки наблюдения выберите ее в панели Точки прерывания и в ее контекстном меню выберите пункт Свойства.... Самые важные свойства точки прерывания этого типа задаются переключателями Доступ и Изменение, которые указывают, когда точка прерывания может приостанавливать выполнение.

Окно диалога Свойства точки прерывания

Нити и мониторы

Отладчик Java может показывать информацию мониторинга в панели Отладка. Действие Показать мониторы выпадающего меню панели Отладка покажет нити, владеющие блокировками и ожидающие захвата блокировок. Нити в тупиковых блокировках показаны красным цветом.

панель Отладка - тупиковые блокировки

Пошаговые фильтры (Фильтры трассировки) Пошаговые фильтры предотвращают приостановку отладчика в определенных классах и пакетах при выполнении трассировки кода с заходом в методы. Пошаговые фильтры указываются на странице Пошаговая фильтрация Java > Отладка > Пошаговая фильтрация. Если переключатель Применять пошаговые фильтры (в панели инструментов или меню панели Отладка) включен, то пошаговые фильтры применяются ко всем действиям трассировки. Пункты контекстного меню фрейма стека Фильтровать тип и Фильтровать пакет в панели Отладка позволяют быстро добавить в список фильтров пакет или объявляющий тип выбранного стека фрейма.
Работа со страницей альбома

Если вы хотите поэкспериментировать с API или протестировать новый алгоритм, то для этого проще использовать страницу альбома Java, а не создавать новый класс. Страница альбома представляет собой контейнер для произвольных фрагментов кода, которые можно в любой момент выполнить вне контекста. Чтобы создать страницу альбома, создайте новый файл с расширением .jpage (или воспользуйтесь мастером Создать страницу альбома Создать страницу альбома). Введите код, который требуется выполнить, затем выберите его. Код можно выполнить тремя способами:

  • Выполнить выбранный код и поместить возвращаемый результат в всплывающее окно
  • Выполнить выбранный код и поместить результат String прямо на страницу тестирования

    Страница тестирования с результатом

  • Выполнить выбранный код (и игнорировать любой возвращаемый результат)

Эти действия содержатся в панели инструментов рабочей среды и в контекстном меню страницы тестирования.

Редактирование
конфигураций
запуска
Для того чтобы открыть для редактирования связанную конфигурацию запуска, нажмите и удерживайте клавишу Ctrl и одновременно выберите пункт выпадающего меню Выполнить или Отладка. Конфигурацию запуска можно также открыть с помощью контекстного меню любого элемента в панели Отладка.
Избранные конфигурации запуска

Конфигурации запуска появляются в выпадающем меню Выполнить/Отладка в порядке, противоположном порядку их запуска. Однако можно принудительно выводить в начале выпадающего списка 'избранную' конфигурацию. Для настройки избранных конфигураций запуска используйте действие Упорядочить избранное... из соответствующего выпадающего меню.

Инструменты форматирования сведений

Панель сведений в панелях Переменные & Выражения содержит расширенное представление выбранной переменной. По умолчанию это расширенное представление является результатом вызова метода toString() для выбранного объекта, однако пользователь может создать собственный инструмент форматирования сведений, который будет применяться вместо этого метода, выбрав в контекстном меню переменной пункт Новый инструмент форматирования сведений. Этот инструмент форматирования сведений будет применяться для всех объектов одного типа. Для просмотра и изменения параметров форматирования откройте страницу Инструменты форматирования сведений Java > Отладка > Инструменты форматирования сведений.

Окно диалога Инструмент форматирования сведений

Выполнение кода с ошибками компиляции

Можно выполнять и отлаживать код, содержащий ошибки компиляции. Единственное различие между выполнением кода с ошибками компиляции и без них состоит в том, что при выполнении строки кода с ошибкой может произойти одно из следующих событий:

  • Если в окне Отладка Java > Отладка отмечено поле 'Приостанавливать выполнение при ошибках компиляции' и при этом выполняется отладка, сеанс отладки будет приостанавливаться в точках прерывания. Обратите внимание на то, что если виртуальная машина поддерживает оперативную замену кода, то можно исправить ошибку и возобновить отладку
  • В противном случае выполнение будет прекращено с результатом 'неисправимая ошибка компиляции'

Важно подчеркнуть, что если выполняемая ветвь пропускает строки кода, содержащие ошибки компиляции, то выполнение и отладка происходят обычным образом.

Перенос слов в панели Переменные Для области сведений панелей отладчика Переменные и Выражения поддерживается перенос слов, который включается в выпадающем меню панели.

Действие Перенос слов в выпадающем меню панели Переменные

Помощник по коду в отладчике

Помощник по коду доступен не только при написании кода в редакторе Java, но и во многих других контекстах:

  • При вводе условия прерывания
  • В окне Сведения панелей Переменные и Выражения
  • При вводе фрагмента кода инструмента форматирования сведений
  • При вводе фрагмента кода Логическая структура
  • При вводе кода на странице Альбом
  • В панели Просмотр
Сведения о командной строке Точный вид вид командной строки, предназначенной для запуска программы в режиме выполнения или отладки, всегда можно посмотреть, выбрав пункт Свойства контекстного меню обрабатываемого или отлаживаемого объекта, даже если запуск был прерван.

командная строка

Гиперссылки
трассировки стека

Записи трассировки стека Java появляются в панели Консоль с гиперссылками. Если поместить указатель мыши на строку трассировки стека, то он примет форму руки. При нажатии кнопки мыши откроется связанный файл исходного кода Java, а курсор будет установлен на соответствующую строку. Если щелкнуть мышью на имени исключительной ситуации вверху трассировки стека, то будет создана точка прерывания для исключительной ситуации.

Записи трассировки стека в панели Консоль с гиперссылками