PhpStorm 实时模板变量 wrap/surround

PhpStorm live template variable wrap/surround

我有一个 Sublime Text 片段,我想将其转换为 PhpStorm 的实时模板。目前我无法包装已经定义的变量。

例如

${2:${1:HOOK}}_mail

sublime text 中的第一个 tab 将输出以下内容。

MY_HOOK_mail

第二个 tab 将允许我覆盖 MY_HOOK

MY_OVERWRITE_mail

使用实时模板是否可行?

作为参考,我正在尝试转换的 sublime 文本片段:https://github.com/iampuma/d7ssnippets/blob/master/hook_mail.sublime-snippet

解决方案: - 感谢@LazyOne。

实时模板:

/**
 * Implements hook_mail().
 */
function $MODULE_NAME$_mail($key, &$message, $params) {
  switch($key) {
    case '$MODULE_NAME1$_mail':
      $message['subject'] = $SUBJECT$;
      $message['body'][] = '$BODY$';
  }
}

变量:

解决方案:-感谢@LazyOne。

诀窍就是使用前一个变量作为默认值。例如:

实时模板:

/**
 * Implements hook_mail().
 */
function $MODULE_NAME$_mail($key, &$message, $params) {
  switch($key) {
    case '$MODULE_NAME1$_mail':
      $message['subject'] = $SUBJECT$;
      $message['body'][] = '$BODY$';
  }
}

变量: