Как я могу перейти к следующему маркеру Eclipse (например, ошибке сборки) с помощью клавиатуры?

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

Как только я сменил подпись, в моем представлении "Проблемы" показано, скажем, дюжина ошибок.

Какие клавиши можно использовать для навигации по ним, оставив фокус клавиатуры в редакторе для быстрого исправления?

(Прошло некоторое время, но я думаю, что эквивалент Visual Studio F8.)

Обратите внимание, что этот вопрос не дублирует Eclipse: как перейти к ошибке, используя только клавиатуру (клавиатура-ярлык)?, поскольку она предназначена для навигации только между маркерами в текущем файле. В этом случае я хочу перейти к следующей ошибке независимо от того, в каком файле она находится.

( "Маркер" - это общий термин Eclipse для ошибок, предупреждений и т.д.)

Ответ 1

Самое лучшее, что я придумал до сих пор, - это Ctrl + F7, чтобы перейти к представлению "Проблемы", затем , чтобы выбрать самую верхнюю ошибку, затем Enter, чтобы перейти к ней (которая возвращает фокус редактору).

Ответ 2

Здесь вы можете перейти к следующей ошибке, независимо от редактора, одним нажатием клавиши. Он не идеален, но работает до тех пор, пока он не будет зафиксирован в Eclipse.

  • Откройте представление "Маркеры". Нажмите стрелку вниз в правом верхнем углу и выберите "Настроить содержимое". Снимите флажок "Показать все" и создайте представление, чтобы отображать только те проблемы, которые вы хотите увидеть. Вероятно, вы захотите также отменить "предупреждения" и "ошибки". Сохраните его.

  • Нажмите ту же стрелку вниз "Маркеры" и выберите "Группировать по". Выберите "Нет". Это важно, потому что вы не хотите показывать узлы уровня родительского дерева, иначе некоторые из ваших "последующих" действий перенесут вас в те, которые не представляют ошибки.

  • В клавишах Eclipse → preferences → найдите "Маркеры". Если на экране "Маркеры" нет клавиши, создайте ее. Я использую Ctrl + Shift + M

  • Получите инструмент горячих клавиш для клавиатуры, например AutoHotKey (для ПК) или iKey для Mac. Я использую iKey, но есть много других инструментов Mac, которые вы можете использовать. В инструменте hotkey определите действие для нажатия клавиши, которое вы хотите использовать для "следующей ошибки". Я выбрал стандартный CMD + .

  • Для этого нажатия клавиши/действия в вашем инструменте горячих клавиш создайте 3 нажатия клавиш в следующем порядке:

    • Ctrl + Shift + M
    • Down arrow
    • Enter

  • Конечно, вы захотите изменить первый на все, что вы выбрали для себя. Вероятно, вы захотите ограничить это действие, которое будет выполнено, только если Eclipse является текущим приложением.

  • Сохраните это, создайте некоторые ошибки компиляции и протестируйте его.

Ответ 3

Попробуйте Ctrl + 3 для всплывающего окна быстрого доступа.

Если "Маркерное представление" еще не видно, введите "маркеры" в поле поиска во всплывающем окне. После того, как вы его выбрали, он останется в наличии, когда вы нажмете Ctrl + 3 в следующий раз.

Ответ 4

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

  • Отметьте все (соответствующие) записи в представлении "Проблемы".
    Для этого перейдите в представление "Проблемы" с помощью Ctrl + F7 и выберите записи с помощью Shift + /
    Вы также можете выбрать все записи, используя Ctrl + A
  • Откройте отмеченные ошибки, нажав .
    Каждый файл, содержащий хотя бы одну помеченную ошибку, будет открыт.
    Курсор автоматически выберет одну ошибку/файл, как если бы вы открыли только эту конкретную запись
  • Исправить ошибки в открывшемся файле.
    Здесь вы можете использовать Ctrl + . для перехода к следующей ошибке внутри этого файла.
  • Закройте файл, используя Ctrl + W при завершении.
  • Eclipse автоматически сфокусирует следующий файл, и вы можете вернуться к шагу 3

.
В моем случае это решение было намного быстрее, чем каждый раз переключаясь на просмотр проблем.

Ответ 5

Здесь введена ошибка Eclipse, в которой есть вложение, похожее на то, что вы хотите.

Ответ 6

Вы можете использовать AutoHotkey: сохраните положение мыши, отправьте событие мыши, чтобы щелкнуть стрелку в консоли CDT, а затем верните мышь обратно в исходное местоположение. Запишите координаты мыши с помощью шпиона окна или воспользуйтесь функцией автоматического поиска по функции изображения (сначала захватите изображения двух стрелок с помощью печатного экрана в растровые изображения).