Как просмотреть тип выражения Scala в IntelliJ

125

Плагин Eclipse scala имеет приятную функцию, которая показывает тип переменной, когда вы наводите на нее указатель мыши. Как мне увидеть ту же информацию в плагине IntelliJ?

Джон Фридман
источник

Ответы:

128

Выберите выражение и введите Alt+ =.


Если вы хотите изменить ярлык, перейдите к Preferences > Keymapи введите «Введите информацию» в поле поиска.

В старых версиях это Shift+ Ctrl+ Alt+ T.

Сергей Пассиченко
источник
2
Я думаю, что это то, что я ищу, Ctrl + Q работает только для переменных, а не для всех выражений.
Джон Фридман,
Это не совсем то, что вы ищете; это головная боль, потому что вам нужно переместить курсор, использовать комбинацию из 4 клавиш, а затем переместить курсор обратно на место. Но это лучшее из того, что есть, и единственный способ получить предполагаемый тип объявления, а не использование.
Луиджи Плиндж
67
ctrl-shift-P на osx в Intellij Leda
Дастин Гетц
2
вау, сочетания клавиш постоянно меняются. Странно, что IntelliJ часто без надобности бросает всплывающие подсказки мне в лицо, но вот этот, который действительно имеет значение, труднодоступен. Ну что ж.
akauppi
Пришлось вернуться сюда, чтобы найти его снова. IntelliJ действительно мог бы добиться большего, сделав это более легким для доступа / запоминания ..
akauppi
45

В OS X это ctrl+ shift+ Pдля меня. Это показывает точный тип с разрешенными универсальными шаблонами.

Золтан
источник
38

CTRL / Command и наведите указатель мыши на переменную или метод.

Павел Крупинский
источник
Его бесполезное сочетание клавиш намного точнее. В окнах его Alt + =. В mac option + =
Pushpendra Jaiswal 09
32

Вы можете нажать Ctrl+ Qна сигнатуре переменной или метода, чтобы увидеть ее тип.

Также есть хитрый трюк для просмотра типа любого выражения: выберите выражение и введите Ctrl+ Alt+ V. Это покажет переменную Extract диалог с типом выражения для извлечения показана для удобства.

Томаш Нуркевич
источник
Похоже, Ctrl + Q разрешает параметризованные типы в последней версии плагина
Джон Фридман,
22

Вы можете настроить IntelliJ как затмение. Перейти к:

File -> Settings -> Languages & Frameworks -> Scala

а затем отметьте «Показывать информацию о типе при наведении курсора мыши после, мс» и установите желаемый таймаут.

Это работает хорошо, за исключением того, что предпочтение отдается другим сообщениям. Наиболее распространенным является «Объявление никогда не используется», что довольно часто бывает, если вы только что написали valи хотите увидеть его тип. Тогда вам придется прибегнуть к ( Alt+ =) для ПК или ( Ctrl+ Shift+ P) для Mac.

Андрей
источник
1
На самом деле это должен быть правильный ответ, поскольку @JonFreedman хочет иметь такое же поведение, как в Eclipse. Другие ответы просто дают ярлыки для достижения того же, что занимает больше времени, чем просто наведение мыши на переменную
Игнасио Алорре
19

В IntelliJ 2016 и более поздних Mac OS X 10.5+версиях с привязками клавиш привязка клавиш Ctrl+ + P.

Старый ответ:

В MacOS с Mac OS X 10.5+привязкой клавиш он должен быть + =, однако, похоже, это вообще не работает (для меня).

В настройках ( Preferences > Keymapи введите "Тип инфо" в поле поиска) добавил к действию ярлык Ctrl+ + T. Этот ярлык отлично работает.

Эрик ван Остен
источник
2
Еще один совет: чтобы легко выбрать выражение, нажмите ⎇ ↑ или ⎇ ↓, чтобы увеличить или уменьшить выделение.
Эрик ван Остен,
1
+1 OSX 10.7.4, intellij CE 11.1. cmd- = был привязан, но не работал, повторная привязка к чему-то еще сработала.
Дастин Гетц
1
IntelliJ 14, OS X Yosemite: - тип выражения eval: CTRL + Shift + P- тип с одним значением (предоставляет более подробную информацию):CTRL + J
Raul
3

Удерживайте нажатой клавишу Command при наведении указателя мыши. Примечание. Я тестировал это на Mac OS X со стандартными привязками клавиш. Разные ОС или нестандартные сочетания клавиш, конечно, могут быть разными, но функциональность, безусловно, есть.

Дэйв Гриффит
источник
1
Я получаю то, что выглядит как скаляр базового класса, когда я удерживаю Shift и наведение курсора мыши, но это не показывает полную информацию о типе, например val test = Seq(1,2)показывает информацию о типе для Seq [+ A], а не для Seq [Int]
Джон Фридман,
1

Здесь собраны полезные советы, но поскольку сопоставления различаются в зависимости от привязки клавиатуры, вот краткое изложение Mac OS X 10.5+привязок.

  • ctrl + hover: показать тип выражения

  • alt + наведение: нажатие на выражение проверяет его значение (очень удобно!)

  • + hover работает как ctrl+ hover, но также позволяет щелкнуть ссылку, чтобы перейти к другим ссылкам на выражение (ctrl + click, очевидно, не работает, потому что в OS X это рассматривается как щелчок правой кнопкой мыши).

Примечание: Mac OS X 10.5+привязки по- прежнему не используются по умолчанию в IntelliJ 13.1, но они действительно должны быть. У них больше ощущения от OS X, чем у старых Mac OS Xпривязок. Вы можете активировать их через Preferences > "keyboard"(в поле поиска)>Keymap > Keymaps: Mac OS X 10.5+

Настоящая проблема удобства использования с ними (начиная с IntelliJ 13.1) заключается в том, что нужно удерживать клавишу, а затем перемещать курсор. В идеале он также должен работать, когда у вас уже есть курсор на выражении, а затем вы начинаете удерживать нажатыми ctrl / alt / cmd. Я запрошу их для этого.

пс. Я знаю, что официально это OS X, а не Mac OS X. IntelliJ IDEA по-прежнему использует старое именование, по крайней мере, для клавиш.

akauppi
источник
1

Для OS X используйте ctrl+ Jдля переменной, функции или сигнатуры, чтобы получить полное определение, тип и параметры. Используйте ctrl+ shift+ Pдля оцениваемого типа (это также работает с выделенным блоком кода или выражением).

piritocle
источник
0

В Windows. Alt + = В Mac. опция + =

Пушпендра Джайсвал
источник