PyCharm 2025.2 Help

编辑模板变量对话框

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

控件

项目

描述

名称

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

表达式

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

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

  • 双引号中的字符串常量

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

  • 预定义函数及其可能的参数

您可以手动输入表达式或从列表中选择预定义函数。 列表还显示了所选函数的参数数量和类型(如果有)。 可用功能按字母顺序列在 Functions表中。

默认值

在该字段中,指定默认字符串,以便在展开的模板的相应输入字段中输入该字符串,如果表达式在计算后未产生任何结果。

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

如果定义则跳过

选中此复选框,如果当前输入字段的值已定义,则让 PyCharm 继续下一个输入字段。

上移 / 下移

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

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

项目

描述

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

返回系统剪贴板的内容。

collectionElementName()

移除 _list 和复数结尾 (s)。

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 参数。

djangoBlock

显示可用的 Django 块的补全弹出窗口。

djangoFilter

显示可用的 Django 过滤器的补全弹出窗口。

djangoTemplateTags

显示可用的 Django 模板标签的补全弹出窗口。

djangoVariable

显示可用的 Django 变量的补全弹出窗口。

enum(<String>, ...)

返回模板扩展时建议的字符串列表。

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

escapeString(<String>)

将特殊字符转义,以便结果可以在 Java 字符串中使用。

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

expectedType()

返回模板展开时表达式的预期类型(在赋值的右侧部分、 return 之后、作为方法参数等等)。

仅在 Java 环境中可用。

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用...包围 )来应用它。

JsArrayVariable()

返回当前 JavaScript 数组的名称。

jsClassName()

返回当前 JavaScript 类的名称。

jsComponentTypeOf()

返回当前 JavaScript 组件的类型。

jsDefineParameter

基于模块的名称,从 define(["module"], function (<parameter_in_question>>) {}) 返回参数。

jsMethodName()

返回当前 JavaScript 方法的名称。

jsQualifiedClassName()

返回当前 JavaScript 类的完整名称。

jsSuggestDefaultVariableKind(Boolean)

布尔参数决定在当前上下文中是否允许常量。 如果未指定参数,则允许常量。 当模板展开时,会显示一个列表,其中包含 TypeScript 和 ES6 的 varletconst 选项,以及早期 JavaScript 版本的唯一 var 选项。

jsSuggestImportedEntityName()

根据文件名,建议 `import * as $ITEM$ from "$MODULE$"``import $ITEM$ from "$MODULE$"` 类型的导入语句名称。

jsSuggestIndexName()

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

jsSuggestVariableName()

根据变量类型和初始化表达式,返回一个变量的建议名称,遵循您的代码样式设置中与变量命名规则相关的设置。 例如,如果它是一个在迭代中包含元素的变量,PyCharm 会根据迭代的容器名称猜测最合理的名称。

lineCommentStart()

返回指示当前语言环境中行注释开始的字符。

lineNumber()

返回当前行号。

lowercaseAndDash(<String>)

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

pyClassName()

返回当前 Python 类的名称(模板扩展所在的类)。

pyFunctionName()

返回当前 Python 函数的名称。

pyIterableVariable()

启用针对可迭代变量的特定范围补全。

在实时模板中使用 pyIterableVariable()

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

找到所有在 Pattern 中的 String 并用 Replacement 替换它们。 您可以将模式指定为正则表达式,以在字符串中查找所有匹配项。

例如, regularExpression(NAME, "a", "b") 表达式将模板变量 $NAME$ 中的任何字母 “a” 替换为字母 “b”。 您可以在模式部分使用 regexp 字符类;例如, 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 Bar ,而 spaceSeparated("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

typeOfVariable(<String>)

返回传递为参数的变量类型。

仅在 Java 环境中可用。

underscoresToCamelCase(<String>)

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

underscoresToSpaces(<String>)

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

user()

返回当前用户的名称。

最后修改日期: 2025年 9月 26日