GoLand 2025.2 Help

编辑模板变量对话框

如果 实时模板 包含 用户定义变量 ,您可以使用 编辑模板变量 对话框配置用于定义这些变量的表达式。

控件

项目

描述

名称

在该字段中,查看或编辑以 $<variable_name>$ 格式表示的变量名称。

表达式

在此字段中指定表达式,以便自动计算相应模板输入字段的值。

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

  • 用双引号括起来的字符串常量

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

  • 带有参数的 预定义函数

手动键入表达式或从列表中选择一个预定义函数。 该列表还显示所选函数的参数数量和类型(如有)。 可用函数按字母顺序列在 函数 表格中。

默认值

在此字段中指定默认字符串,该字符串将在展开模板时自动填入相应的输入字段中(如果表达式计算后未返回结果)。

请注意,变量的默认值是可以引用其他实时模板变量的表达式。 要将默认值定义为字面值,请将其用引号括起来。

如果定义则跳过

选中该复选框后,如果当前输入字段的值已定义,GoLand 将继续切换到下一个输入字段。

上移 / 下移

使用这些按钮可更改列表中变量的顺序。 表格中变量的顺序决定了模板展开时 GoLand 在对应输入字段间切换的顺序。

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

项目

描述

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

dbColumns()

返回表或视图的列名列表。 dbColumns() 用于上下文实时模板(例如 ins)。 右键点击对象并选择 SQL 脚本 可访问上下文实时模板。

dbObjectName()

返回表或视图的名称。 dbObjectName() 用于上下文实时模板(例如 top)。 右键点击对象并选择 SQL 脚本 可访问上下文实时模板。

decapitalize(<String>)

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

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

defaultReturnValues

如果表达式用于返回语句中,则返回默认值。 如果表达式是错误类型,则使用 errorVariableName 参数。

enum(<String>, ...)

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

例如, enum("Foo","Bar","Baz") 会展示一个列表供您选择指定的字符串之一。

errorVariable()

返回当前上下文中的第一个错误变量。 自动补全当前上下文中的所有错误变量。

errorVariableDefinition(expressionWithErrorResult)

如果表达式返回错误类型,则将表达式转换为变量定义。 例如,如果 a() 函数返回 (int, error) ,则 errorVariableDefinition("a()") 表达式返回 _, err

escapeString(<String>)

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

例如,将制表符替换为 \t ,换行符替换为 \n ,反斜杠转义为 \\ ,引号转义为 \" ,依此类推。

fieldName()

返回当前上下文中的第一个字段名。 自动补全当前上下文中的所有字段名。

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环绕代码 )才能应用。

goFunctionParameters()

建议使用函数签名中的参数列表。

例如,在 func exampleFunction(str1, str2 string) 函数中, goFunctionParameters() 返回 [str1, str2]

goFunctionResultParameters()

建议使用函数的返回参数列表。

例如,在 func exampleFunction() (str string, i int) 函数中, goFunctionResultParameters() 返回 [str, i]

goSuggestVariableName()

在 Go 代码中的上下文中建议一个变量名。 该表达式用于 forforr 代码模板中。 例如,该表达式建议键使用 k ,值使用 v

lineCommentStart()

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

lineNumber()

返回当前行号。

localName()

限定变量名。 localName 表达式接收导入路径和名称。 如果文件中已导入该路径,则表达式使用此导入路径作为限定符,否则将添加新的导入。 结果为 qualifier.name。 请注意,如果文件位于导入路径所指向的包中,则表达式可能会跳过限定符。

该表达式用于 .sort 后缀模板。 要使此模板生效,必须导入来自 sort 包的函数。

lowercaseAndDash(<String>)

将字符串转换为小写字母,并使用连字号作为分隔符。 例如, lowercaseAndDash("MyExampleName")lowercaseAndDash("my example name") 都会返回 my-example-name

nonBlankVariable

接收一个表达式列表作为输入,并返回第一个非空表达式 _。 例如, _,_,a,b 返回 a

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

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

例如, regularExpression(NAME, "a", "b") 表达式会将 $NAME$ 模板变量中的所有字母 "a" 替换为字母 "b"。 您可以在模式部分使用正则表达式字符类,例如 regularExpression(NAME, "[a-z]", "b") 将替换变量中的任何字母。 如果您希望将 \d\w 等模式视为正则表达式字符类,必须转义斜杠,使得模式变为 "\\d"

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>)

返回指定分隔符之前的子字符串。 这有助于移除测试文件名中的扩展名。 例如, substringBefore(fileName(),".") 在用于文件名为 component-test.js 时将返回 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年 9月 26日