Как исправить автозаполнение параметра метода IntelliJ IDEA?

Я использую IntelliJ IDEA 15, и я заметил, что (по умолчанию) Eclipse предлагает гораздо более удобное автозаполнение, когда дело доходит до написания вызовов методов, которые требуют нескольких параметров.

Eclipse автоматически заполняет параметры по умолчанию и позволяет быстро перемещаться по ним, нажимая Tab:

введите описание изображения здесь

Однако IntelliJ IDEA не справляется с этим как удобно и заставляет вас писать их вручную:

введите описание изображения здесь

Есть ли способ сделать IntelliJ IDEA, обработать метод автоматического завершения вызова так же, как и Eclipse, и предварительно записать все параметры для вас, просто нажав Tab (или другой ключ) для навигации по ним? Если это невозможно в оригинальном IntelliJ, есть ли добавочный/плагин/внешний инструмент, который улучшит выполнение интеллектуального кода в таких случаях?


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

Ответ 1

IntelliJ не делает этого, и AFAIK для него нет плагина.
Для вас нет решения (если вы сами не создали плагин, но тогда у вас будет другая работа для поддержки этого плагина)

Альтернативой является разорвать привычку/потребность в ней и использовать ярлыки завершения кода IntelliJ:

  • Ctrl + P для просмотра возможных параметров для функции.
  • Ctrl + Shift + Space, чтобы указать возможные переменные, которые могут быть введены в качестве параметра в соответствующей позиции параметра (в зависимости от типа).
    Это также входит в запятую, если для функции требуется другой параметр.

Номера/строки жесткого кодирования в качестве параметров для настраиваемой функции не рекомендуется, так как это отрицает точку параметров. Это более практичная практика и более распространенная в предопределенной переменной; В какой момент Ctrl + Shift + Space является самым простым способом для завершения кода.
Это также помешает вам закрыть цитаты и добавить запятые.

Также обратите внимание: IntelliSense - это реализация Microsoft Intelligent Code Completion, которую не используют ни IntelliJ, ни Eclipse.


Как говорится в сообщении frant.hartm:

К сожалению, мнение разработчиков Intellij заключается в том, что эта функция будет слишком подвержена ошибкам. Посмотрите эту проблему на youtrack.

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

Ответ 2

Самое близкое к этому AFAIK - это "завершение параметра метода", которое позволяет автоматически заполнять параметры текущего метода в качестве параметров вызова внутреннего метода сразу (работает для методов и конструкторов при вызове super()).

завершение параметра метода

К сожалению, мнение разработчиков Intellij заключается в том, что эта функция будет слишком подвержена ошибкам. См. эта проблема на youtrack.

Ответ 3

IDEA не заполняет аргументы автоматически. Вы можете использовать Ctrl+Shift+Space для автозаполнения (завершение основано на типе, а не на имени) или Ctrl+Alt+Space для предложения. Или Ctrl+P, чтобы увидеть, какие аргументы приняты.

Ответ 4

Попробуйте

Ctrl + Space

для

Завершение базового кода

И как ранее было написано

Ctrl + Shift + Space

для

Заполнение кода кода

или попробуйте второй вариант TWICE. Подробнее о Автозаполняющем коде в здесь