RustRover 2025.3 Help

实时模板变量

当您展开实时模板缩写时,其变量要么显示为可输入值的输入字段,要么被值替换。 这些值可能是您可以修改的默认值,或者是使用 函数计算得出的值。

要在模板中声明变量,请使用以下格式: $VAR$

通过表达式定义每个变量,并在表达式求值失败时提供默认值。

配置模板变量

  1. 设置 对话框(Ctrl+Alt+S )中,转到 编辑器| 实时模板

  2. 选择您想要配置变量的模板(例如, Rust)。

  3. 请按以下格式指定变量: $VARIABLE_NAME$。 如果模板包含任何变量,则会提供 编辑变量(E)… 按钮。 单击此按钮以设置变量值。

  4. 编辑模板变量 对话框中,您可以对每个变量执行以下操作:

    • 更改变量名。

    • 定义表达式。

      此表达式可能包含以下结构:

      • 双引号中的字符串常量

      • 实时模板中定义的其他变量名称

      • 带有可能的参数

    • 指定表达式评估失败时的默认值。 默认值应包含在双引号中。

    • 指定在表达式成功评估后,您是否希望在提示用户输入时跳过该变量。

    编辑模板变量

预定义模板变量

RustRover 支持以下无法修改的预定义 实时模板 变量:

  • $END$ 表示代码段完成时文本光标的位置,您不能再按 Tab 跳到下一个变量。

  • $SELECTION$ 用于环绕模板,表示要包装的代码片段。 模板展开后,会按照模板中的指定方式包装所选文本。 例如,如果您在代码中选择 EXAMPLE 并通过指定的缩写或按下 Ctrl+Alt+T 并从列表中选择所需的模板来调用 "$SELECTION$" 模板,RustRover 将如下所示将所选内容用双引号括起来: "EXAMPLE"

在实时模板变量中使用的函数

以下函数可用于定义 实时模板 变量:

函数

描述

blockCommentEnd()

返回指示当前语言上下文中块注释结束的字符。

blockCommentStart()

返回指示当前语言上下文中块注释起始的字符。

camelCase(<String>)

将字符串转换为 camelCase

例如, camelCase("my-text-file")camelCase("my text file")camelCase("my_text_file") 均返回 myTextFile

capitalize(<String>)

将字符串的首字母大写。

例如, capitalize("name") 返回 Name。 或者,您可以将其组合为 capitalize(camelCase("my awesome class")) ,得到 MyAwesomeClass

capitalizeAndUnderscore(<String>)

将字符串的所有字母大写,并在各部分之间插入下划线。

例如, capitalizeAndUnderscore("FooBar")capitalizeAndUnderscore("foo bar")capitalizeAndUnderscore("foo-bar") 均返回 FOO_BAR

clipboard()

返回系统剪贴板的内容。

commentEnd()

返回指示当前语言上下文中注释结束的字符。 对于带有行注释的语言,返回值为空。

commentStart()

返回指示当前语言上下文中注释起始的字符。 对于具有行注释的语言,返回值为行注释的起始,与 lineCommentStart() 相同。

complete()

在变量的位置调用 代码补全

completeSmart()

在变量位置调用 智能类型补全

concat(<String>, ...)

返回传递给函数的所有字符串参数的连接结果。

例如, concat(date()," ",user()) 返回当前系统日期和用户名,中间用空格分隔。

date([format])

返回当前系统日期。

默认情况下,无参数时,返回当前系统格式的日期。 要使用其他格式,请按照 SimpleDateFormat 规范提供参数。 例如, date("Y-MM-d, E, H:m") 返回的日期格式为 2020-02-27, Thu, 16:11

decapitalize(<String>)

将字符串的首字母替换为相应的小写字母。

例如, decapitalize("Name") 返回 name

enum(<String>, ...)

在模板展开时,返回用于补全的字符串建议列表。

例如, enum("Foo","Bar","Baz") 会显示一个列表,您可以从中选择指定的字符串之一。

escapeString(<String>)

转义特殊字符,使结果可用于 Java 字符串。

例如,它会将制表符替换为 \t ,将换行符替换为 \n ,将反斜杠转义为 \\ ,将引号转义为 \" ,等等。

fileName()

返回当前文件的名称(包含扩展名)。

fileNameWithoutExtension()

返回当前文件的名称(不含扩展名)。

filePath()

返回当前文件的绝对路径。

fileRelativePath()

返回当前文件相对于当前项目的路径。 要检查某个文件的相对路径,右键点击该文件并选择 复制引用 ,或按 Ctrl+Alt+Shift+C

firstWord(<String>)

返回作为参数传递的字符串的第一个单词。

例如, firstWord("one two three") 返回 one

groovyScript(<String>, [arg, ...])

执行作为字符串传入的 Groovy 脚本。

第一个参数是一个字符串,其中包含脚本文本或包含该脚本的文件路径。 该函数将其他可选参数传递给脚本,作为 _1_2_3、...、 _n 变量的值。 此外,您可以使用 _editor 变量从脚本内部访问当前编辑器。

以下示例显示了一个 groovyScript() 函数,用于将给定字符串(另一个变量 $MyVar$ 的值)转换为大写字母:

groovyScript("_1.toUpperCase()", MyVar)

以下示例展示了一个 groovyScript() 函数,该函数将所选文本拆分为单词,并将其显示为编号列表:

groovyScript("def result = ''; _1.split().eachWithIndex { item, index -> result = result + index.next() + '. ' + item + System.lineSeparator() }; return result;", SELECTION)

最后一个示例使用了 SELECTION 预定义变量,这意味着您需要选择文本并按 Ctrl+Alt+T用…包围 )来应用它。

lineCommentStart()

返回指示当前语言上下文中行注释起始的字符。

lineNumber()

返回当前行号。

lowercaseAndDash(<String>)

将字符串转换为小写并插入短横线作为分隔符。 例如, lowercaseAndDash("MyExampleName")lowercaseAndDash("my example name") 都返回 my-example-name

regularExpression(<String>, <Pattern>, <Replacement>)

String 中查找所有 Pattern 的出现并将其替换为 Replacement。 您可以将模式指定为正则表达式,以查找字符串中与之匹配的所有内容。

例如, regularExpression(NAME, "a", "b") 表达式会将 $NAME$ 模板变量中的任意字母 "a" 替换为字母 "b"。 您可以在模式部分使用 regexp 字符类;例如, regularExpression(NAME, "[a-z]", "b") 将替换变量中的任何字母。 如果希望 \d\w 等模式被视为正则表达式字符类,您需要对斜杠进行转义,使得模式看起来像 "\\d"

rustCollectionElementName(<Iterable>)

返回用于遍历 Iterator 的变量建议名称。

rustSuggestIndexName()

从最常用的名称中返回一个索引变量的建议名称: ijk 等。 尚未在当前作用域中使用的名称将首先显示。

showParameterInfo()

返回在向函数或方法添加参数时的参数详细信息。

snakeCase(<String>)

将字符串转换为 snake_case。 例如, snakeCase("fooBar")snakeCase("foo bar") 都返回 foo_bar

spaceSeparated(<String>)

返回使用空格作为分隔符的指定字符串。 例如, spaceSeparated("fooBar") 返回 foo BarspaceSeparated("Foo_BAR") 返回 Foo BAR

spacesToUnderscores(<String>)

将作为参数传入的字符串中的空格替换为下划线。 例如, spacesToUnderscores("foo bar BAZ") 返回 foo_bar_BAZ

substringBefore(<String>, <Delimeter>)

返回到指定分隔符为止的子字符串。 这有助于移除测试文件名中的扩展名。 例如,如果在名为 component-test.js 的文件中使用, substringBefore(fileName(),".") 将返回 component-test

time([format])

返回当前系统时间。

默认情况下,无参数时,返回当前系统格式的时间。 要使用其他格式,请按照 SimpleDateFormat 规范提供参数。 例如, time("H:m z") 返回的时间格式为 13:10 UTC

underscoresToCamelCase(<String>)

将带有下划线的字符串(如 snake_case )转换为 camelCase。 例如, underscoresToCamelCase(foo_bar_baz)underscoresToCamelCase(FOO_BaR_baZ) 都返回 fooBarBaz

underscoresToSpaces(<String>)

将字符串中的下划线转换为空格。 例如, underscoresToSpaces(foo_bar_baz) 返回 foo bar bazunderscoresToSpaces(FOO_BaR_baZ) 返回 FOO BaR baZ

user()

返回当前用户的名称。

最后修改日期: 2025年 12月 5日