Подтвердить что ты не робот

Могут ли IntelliJ автоматически заполнять параметры конструктора на "новом" выражении?

Если у моего класса есть непустой конструктор, возможно ли автозаполнение параметров в выражении new?

С Eclipse, если вы нажмете ctrl + space, когда курсор находится между круглой скобкой:

MyClass myObject = new MyClass();

найдут соответствующие параметры.

-->  MyClass myObject = new MyClass(name, value);

Когда я использую ctrl + shift + spacebar после new, Intellij показывает мне конструкторы, но я не могу выбрать один для автозаполнения. Мне не хватает опции?

4b9b3361

Ответ 1

В Intellij Idea 2016.3 вы можете использовать option + return. Он спросит вас, хотите ли вы представить именованный аргумент для аргумента, в котором вы находитесь, и всех последователей.

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

Ответ 2

Обычно я начинаю с Ctrl P (действие " Parameter Info), чтобы увидеть, какие аргументы приняты (автоматическое угадывание - это способ подверженности ошибкам, на мой взгляд). И если в вашем случае вы хотите ввести name типа n выпадающее меню появляется со всеми доступными переменными/полями (и т.д.), Начиная с n Arrow Up/Down и Tab, чтобы выбрать имя, или Ctrl Space, чтобы выбрать метод (или даже Ctrl Alt Space быть убитым предложений ;-), а затем , и v Tab для значения.

Ответ 3

Ну, я использовал карту ключевых слов eclipse, где Информация о параметрах не назначена. Вот как это изменить:

enter image description here

Ответ 4

Ну там комбинация Ctrl + Shift + Space, которая пытается создать набор возможных аргументов. И если вы нажмете Ctrl + Shift + Space во второй раз, Idea пытается найти аргументы, которые подходят для нескольких вызовов и преобразований.

Поэтому в вашем примере Ctrl + Shift + Space почти наверняка воссоздает "имя" как предложение. И следующее Ctrl + Shift + Space выведет "значение" в качестве предложения.

Ответ 5

Пока нет такой возможности. Поскольку IDEA не заполняет аргументы автоматически, различение конструкторов в поиске не имеет смысла. Там просьба об этом (http://youtrack.jetbrains.net/issue/IDEABKL-5496), хотя я искренне верю, что такое поведение слишком опасно и подвержено ошибкам.