Окружить вызовом метода/функции в IDEA?

Есть ли способ окружить выделение произвольным вызовом метода?

Пример: скажем, у вас есть return dx;, и вы хотите быстро преобразовать его в return Math.abs(dx);.

Я знаю о шаблонах, но тогда вам нужно жестко закодировать свое окружение (в данном случае Math.abs), и я ищу общее решение, не ограниченное каким-либо предопределенным методом.

UPD 22.01.2019: Как указал @de-li, добавлен шаблон постфикса .arg. На данный момент подтверждено для Java. Не стесняйтесь голосовать за поддержку Kotlin: https://youtrack.jetbrains.com/issue/KT- 29398

UPD: шаблон .arg доступен для Kotlin с 1.3.40-dev-568


person Ghedeon    schedule 28.10.2015    source источник


Ответы (3)


Перейдите в конец кода и введите '.arg', затем нажмите Enter, IDE добавит пару квадратных скобок, чтобы обернуть значение, и переместит курсор в начало, после чего вы можете указать желаемое имя метода.

person de li    schedule 21.01.2019

Вы можете создать живой шаблон, выглядящий примерно так:

$END$($SELECTION$)

а затем просто выберите текст, который вы хотите обернуть, нажмите Ctrl+Alt+T, чтобы отобразить объемный звук во всплывающем окне, и выберите свой шаблон, как показано на рисунке. на изображении ниже:

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

Таким образом, у вас есть общий шаблон, и вам не нужно жестко указывать в нем имя метода.

person Bohuslav Burghardt    schedule 28.10.2015
comment
Аккуратный! Похоже на существующий (expr), но вы прибили его $END$ впереди. Теперь реальный вопрос в том, как вы сделали эту красивую гифку? :) - person Ghedeon; 29.10.2015
comment
@Ghedeon ScreenToGif. Действительно хорошее приложение. Просто нужно найти что-то подобное для Mac :) - person Bohuslav Burghardt; 29.10.2015
comment
было бы неплохо, если бы мы могли использовать функцию исправления поста .par и перемещать курсор влево - person Kirill Kulakov; 08.08.2016
comment
Есть ли способ создать выделение (то, что вы хотите окружить), используя всплывающее окно того же типа, что и при извлечении переменной (Ctrl+Alt+V) или извлечении метода (Ctrl+Alt+M) и т. д. ? Меня убивает первоначальный выбор вручную. - person Dmitry Minkovsky; 22.06.2019
comment
Ответ @arekolek на использование ⌥+⌘+J для объемного звучания с живым шаблоном требует меньшего количества нажатий клавиш (для меня не нужно нажимать дважды, по крайней мере, поскольку это единственный живой шаблон, который у меня есть). - person Graeme Moss; 29.05.2020

Чтобы добавить к ответу выше:

  1. Go to Android Studio > Preferences.
  2. Выберите Editor > Live Templates в навигации.
  3. Разверните группу surround живых шаблонов.
  4. Выберите P (Surround with()) и нажмите Duplicate справа.
  5. Поместите F в качестве аббревиатуры, Surround with function call в качестве описания и $END$($SELECTION$) в качестве текста шаблона.
  6. Нажмите на Change Область применения и выберите Expression, String и Other под Java.

Теперь можно просто выбрать что-нибудь, нажать ++J (объем с живым шаблоном), и новый живой шаблон будет первым на этом list, так что просто нажмите Enter.

person arekolek    schedule 10.06.2017
comment
Спасибо, но Господи Иисусе, JetBrains, почему это не встроено?! - person spyro; 15.10.2020