PhpStorm 通过函数调用来换行的快捷方式

Abd*_*uka 1 shortcut phpstorm

我在 PhpStorm 中,需要选择一些文本,按一些快捷键并将该文本包含在函数调用中(我会事先在设置中的某个位置定义)。

例如:

  • "Hello World"会成为input("Hello World")。
  • $_GET["foo"]会成为input($_GET["foo"])。

我不知道这是否可能,但如果可以的话,它可以帮助我节省很多时间。不幸的是,应用正则表达式来解决这个问题是不可能的。手动选择我需要包装的内容不是问题。

Laz*_*One 8

函数名每次都一样还是不同?

无论如何:可以这样做:

  • 使用以下内容制作“环绕模板”类型的 实时模板:
    $FUN$($SELECTION$)$END$
    
    Run Code Online (Sandbox Code Playgroud) 这里的变量$SELECTION$表明它是一个环绕模板。
  • 应用正确的上下文(可以使用此模板的地方)
  • 给它一个缩写(用于定位和调用它的名称)和简短描述。

这是我的: 在此输入图像描述

注意:$FUN$如果函数始终相同,则替换为固定函数名称。您可以拥有具有不同缩写的其他模板(将具有不同的硬编码函数名称)。

使用方法:

进行选择并调用Code | Surround with...操作,在其中选择正确的模板。在 Windows 键盘映射上它是Ctrl + Alt + T

在此输入图像描述

实际操作中(注意:它没有对函数名称进行硬编码,因此我输入了该myFunc部分):

在此输入图像描述
(提示:如果名称是唯一的,您可以通过几次按键选择所需的条目 - 只需开始在弹出窗口中输入名称即可 - 这里是标准的快速搜索工作)

PS Code | Surround with...可以有其他(在这种情况下可能与您无关)条目。要仅列出实时模板,请使用操作快捷方式Surround with Live Template...(Ctrl + Alt + J在我的 Windows 键盘映射上)。您可以检查快捷方式或在以下位置更改它Settings/Preferences | Keymap:

在此输入图像描述

这样弹出菜单会更短一些:

在此输入图像描述

减少按键次数:

您可以使用宏功能来记录调用弹出窗口并选择正确的条目。然后,您可以为该宏分配自定义快捷方式:选择文本,点击快捷方式,它将播放录制的序列。

遗憾的是我不能 100% 保证宏总是能很好地工作(有时/在某些设置上它可以“吃掉”按键)。

PS如果 IDE 支持将键盘快捷键分配给特定的实时模板,那就容易多了。但它处于积压工作中,不知道何时可以实现。无论如何: https: //youtrack.jetbrains.com/issue/IDEA-67811 - 观看此票证(star/vote/comment)以获取有关任何进展的通知。


PS你也可以尝试Postfix补全。它适合编写代码,但不太适合您的情况(编辑其中的一小部分),但谁知道呢。您必须为此创建一个自定义后缀——不过这应该不是问题。

https://www.jetbrains.com/help/phpstorm/2021.3/auto-completing-code.html#postfix_completion