• 创建和编辑模板变量
    • 基础
    • 在动态模板变量中使用的预定义变量
  • 另请参阅:

    创建和编辑模板变量

    在这个页面中:

    • 基础
    • 在模板中配置和使用变量
    • 在动态模板变量中使用的预定义变量

    基础

    在一个模板展开之后,它的变量编辑器中呈现为输入区域。这些区域的值可以被用户编辑或者被PhpStorm计算填充。

    要让它自动完成,每个变量你需要指定下面:

    • 表达式,与变量相关的表达式来被计算
    • 默认值,如果计算失败那么输入区域要被写入的默认值

    PhpStorm中展开表达式之后输入区域的处理顺序,取决于列表中变量的顺序。

    在模板中配置和使用变量

    1. 打开模板设置,然后在模板文本区域点击Edit Variables按钮。

      Edit Variables按钮仅在模板主体中包含至少一个用户定义变量时可用,也就是说,和$END$$SELECTION$不同的变量。

      编辑模板变量对话框打开了,在这你可以定义当模板使用时变量将被如何处理。

    2. Name文本框,指定要在模板主体中使用的变量名。

    3. Expression下拉列表中,指定要被PhpStorm计算的表达式当模板展开后。执行以下操作之一:

      • 输入一个在两个引号中的字符串常量
      • 输入一个预定义函数及可能的参数或者从下拉列表中选择一个

        一个函数的参数可能是一个常量或者另一个预定义函数。参见页面下方的预定义函数列表。

    4. 要启用PhpStorm来处理下一个输入区域,如果一个输入区域关联的当前变量已经定义,选择Skip if defined复选框

    5. 要安排PhpStorm切换变量相应的输入框的顺序,使用Move UpMove Down按钮。

    在动态模板变量中使用的预定义变量

    Item Description
    camelCase(String) 返回作为参数传递的字符串,转换为驼峰式写法。例如my-text-file/my text file/my_text_file将被转换为myTextFile
    capitalize(String) 将作为参数传递的名字的首字母大写
    capitalizeAndUnderscore(sCamelCaseName) 将作为参数传来的驼峰式名字转为首字母大写,并在单词重建插入下划线。例如,如果传来的参数是FooBar,那么函数返回FOO_BAR
    classNameComplete() 这个表达式用来在变量位置替换类名称
    clipboard() 返回系统剪贴板的内容
    snakeCase(String) 从蛇形字符串返回驼峰式写法的字符串。例如,如果传来的参数字符串是foo_bar,函数将返回fooBar
    complete() 这个表达式在变量位置代替行使代码补全
    completeSmart() 这个表达式在变量位置代替行使只能类型补全
    date(sDate) 用指定格式返回当前系统日期。
    默认的,当前日期被返回为系统默认格式。然而,如果你用两个引号指定日期格式,日期将被呈现为指定格式:
    指定日期格式
    decapitalize(sName) 用相应的小写字母替换作为参数传递的名字的首字母。
    enum(sCompletionString1,sCompletionString2,...) 用逗号分隔的字符串建议作为模板调用时的完成列表
    escapeString(sEscapeString) 避开指定的字符串
    expectedType() 返回整个模板期望的类型。这是有道理的,如果模板在正确的位置展开,在返回之后,等等
    fileName(sFileName) 返回带扩展名的文件名
    fileNameWithoutExtension() 返回文件名不要扩展名
    firstWord(sFirstWord) 返回作为参数传递的字符串的第一个单词
    lineNumber() 返回当前行号
    lowercaseAndDash(String) 返回作为参数传递的字符串以用破折号分隔的小写形式。例如,字符串MyExampleName转换为my-example-name
    snakeCase(sCamelCaseText) 从驼峰式写法的字符串返回蛇形字符串
    spaceSeparated(String) 传递来的驼峰式字符串转换为空格分隔的单词。例如,如果川里来的字符串参数是fooBar,那么返回值就是foo bar
    time(sSystemTime) 放回当前系统时间。
    timestamp() 这个参数没有参数,返回的是1970-1-1到现在的毫秒时间。参考文章Ubix time
    underscoresToCamelCase(sCamelCaseText) 从下环线分隔的字符串转换为驼峰式写法,例如,如果传来的参数是foo_bar,那么函数返回值就是fooBar
    underscoresToSpaces(sParameterWithSpaces) 从下环线分隔的字符串转换为空格分隔式写法
    user() 返回当前用户名称
    JsArrayVariable 返回当前JavaScript数组名称
    jsClassName() 返回JavaScript类名称
    jsComponentType 返回当前JavaScript组件类型
    jsMethodName() 返回当前JavaScript方法名称
    jsQualifiedClassName 返回当前JavaScript类的完整名称
    jsSuggestIndexName 返回索引的建议名称
    jsSuggestVariableName 返回变量的建议名称

    另请参阅:

    规程:

    • 使用动态模板创建代码结构
    • 创建和编辑动态模板

    参考:

    • 动态模板
    • 编辑模板变量对话框

    概念:

    • 动态模板