Основной целью IntelliJ IDEA является продуктивность разработчика,
и для этого она предоставляет мощные возможности автоматического дополнения
кода. Однако, так как есть несколько функций дополнения кода, важно
разобраться как они работают и какую когда лучше использовать.
Простое дополнение
Простое дополнение предлагает самые примитивные предположения имен переменных, типов, методов, выражений и т.д. Стоит упомянуть что простое дополнение автоматически работает по мере ввода вами текста. Это значит, что вам не нужно нажимать никаких клавиатурных сочетаний для того чтобы увидеть список предлагаемых вариантов. Но если вам все-таки хочется вызвать его вручную - вы можете нажать Ctrl + пробел.
Обратите внимание, если вы вызываете простое дополнение дважды, оно покажет вам больше вариантов, включая приватные члены.
Умное дополнение
В дополнение к простому дополнению, IntelliJ IDEA предоставляет Умное дополнение, гораздо более совершенное и всеобъемлющее. Умное дополнение разбирается в том какой тип ожидается и как происходит преобразование типов данных, и предлагает варианты подходящие к контексту. Для того чтобы запустить Умное дополнение, нажмите Shift + Ctrl + пробел.
Обратите внимание, что если вы запустите Умное дополнение дважды, оно покажет вам больше результатов, включая цепочки и не импортированные статические члены.
Дополнение по клавише Tab
Если вы выберете элемент из списка предложенных вариантов нажав Tab, он перезапишет идентификатор на котором находится курсор, вместо того чтобы просто дописать этот вариант. Это бывает полезно если вы редактируете часть идентификатора, такую как имя файла.
Дополнение операторов
Дополнение операторов автоматически добавляет недостающие скобки (любые скобки, прим. перев.) и необходимое форматирование. Чтобы дополнить оператор, просто нажмите Shift + Ctrl + Enter (Shift + Cmd + Enter для Mac).
Инверсия дополнения
Если вы выберете булевый элемент из списка предложений, нажав !, то IntelliJ IDEA автоматически добавит оператор инверсии к результату.
Срединное соответствиеIntelliJ IDEA также поддерживает так называемое Срединное соответствие. Это значит, что вам не обязательно писать идентификатор с самого начала. К примеру, если вы помните только часть имени, напишите ее и IntelliJ IDEA все равно найдет вам правильный вариант.
Информация о параметрах
Если вам нужно видеть предположительные параметры для какого-то метода или конструктора, просто нажмите Ctrl + P (Cmd + P для Mac). IntelliJ IDEA покажет информацию по параметрам для каждого перегруженного метода или конструктора, и выделит цветом самое полное соответствие для тех параметров которые вы уже ввели. Это поможет вам выбрать среди перегруженных вариантов и сравнить ваш ввод с тем что ожидается.
Быстрые всплывающие окна
Есть несколько вариантов всплывающих окон - с документацией (по Ctrl + Q или Ctrl + J на Mac), или с определением (по Shift + Ctrl + I, или Shift + Cmd + I на Mac) доступных когда вы смотрите список вариантов дополнения кода.
Убрать из дополнения
Если вас достало что какой-то класс постоянно появляется в списке дополнения, IntelliJ IDEA может убрать этот класс или весь пакет и вы никогда не увидите его больше. Просто нажмите Alt + Enter на этом элементе и подтвердите удаление из списка. Включить его обратно вы можете в настройках Settings → Editor → Auto Import.
Настройки дополнения
Если вы хотите поменять настройки по умолчанию для дополнения кода, вы можете сделать это в Settings → Editor → Code Completion.
Есть вещь на эту тему, которая страшно раздражает: когда, например, ставишь точку и хочешь выбрать метод из выпадающего списка - приходится тянуться мизинцем к "down" (стрелке вниз). Нельзя как-то настроить, чтобы переключение вниз по списку было через tab например, а подтверждение через enter? Боль и страдания....
Подскажите пожалуйста, а возможно ли как-то поменять цвет совпадающих символов во введенной мною строке и в автодополнии, которое мне предлагают? Просто на компьютере оно фиолетовое, уже привык, а на ноуте посте установки последней версии внезапно стало светло-синее, ну и, во-первых, не видно ничего, во-вторых нерпивычно
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
весь гугл перерыл, не мог найти
arr.for(fori)(помойму только если implements Iterable)