Затмение автозаполнения раздражение - PullRequest
21 голосов
/ 27 мая 2011

Я, кажется, часто путаюсь с определенной "особенностью" поведения автозаполнения Eclipse.Скажем, я программирую на Java и начинаю кодировать вызов метода следующим образом:

for (int i = 0; i < n; ++i) {
    thing.

Когда я набираю ., Eclipse выскакивает список методов-кандидатов для thing.Предположим, я выбрал method(int index).Eclipse вставляет мой выбор:

for (int i = 0; i < n; ++i) {
    thing.method(index)

Он также выделяет index и отображает список переменных, которые я мог бы использовать.Первый элемент в списке - index, а второй - i.Не желая убирать руки с клавиатуры, я набираю i.

Проблема в том, что я по привычке обычно нажимаю enter, чтобы завершить последовательность автозаполнения.К сожалению, это заставляет Eclipse выбрать первый элемент в списке предложений, который начинается с i, то есть index.Argh!Чтобы избежать этого, мне нужно либо:

  1. не забывать нажимать tab вместо enter после ввода i;
  2. выбрать i из списка предложений вместонабрав его;
  3. нажмите esc (дважды!), чтобы избавиться от списка предложений, прежде чем нажимать enter.

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

Я понимаю, что это скучная затея из-за довольно трудной проблемы, но у меня действительно есть вопрос.Существуют ли какие-либо настройки в Eclipse (кроме отключения автозаполнения, что в противном случае очень полезно), чтобы (1) указать ему ранжировать допустимые параметры над недопустимыми в списке предложений или (2) в противном случае сообщить Eclipse, что когда я набираю i, вот чего я хочу?

1 Ответ

22 голосов
/ 27 мая 2011

На странице настроек «Java -> Editor -> Content Assist» задайте «Заполнить аргументы метода и показать угаданные аргументы» для «Вставить лучшие угаданные аргументы»

Preference page

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...