Как просмотреть тип выражения 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для меня. Это показывает точный тип с разрешенными универсальными шаблонами.



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 по-прежнему использует старое именование, по крайней мере, для клавиш.


1

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


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.