实时模板变量
最后修改时间:2023 年 9 月 25 日当您展开实时模板缩写时,其变量要么显示为输入字段,您可以在其中键入值,要么被替换为值。这些可能是您可以修改的默认值或使用函数计算的值。
要在模板内声明变量,请使用以下格式:$VAR$
.
在表达式中,使用不带开头和结尾美元字符的变量名称$
,例如lowercaseAndDash(ComponentName)
。
笔记
要将美元字符添加
$
到模板文本中,使其不被视为变量声明,请使用特殊变量$$
。
使用表达式定义每个变量,并在表达式无法计算时提供默认值。
该表达式可能包含以下结构:
双引号中的字符串常量
实时模板中定义的其他变量的名称
带有可能参数的预定义函数
配置模板变量
预定义模板变量
PyCharm 支持以下无法修改的预定义实时模板变量:
$END$
指示代码片段完成时插入符号的位置,并且您不能再按跳转到下一个变量。Tab$SELECTION$
用在环绕模板中,表示要包装的代码片段。模板展开后,它会按照模板中指定的方式换行所选文本。例如,如果您EXAMPLE
在代码中进行选择并"$SELECTION$"
通过指定的缩写或通过按并从列表中选择所需模板来调用模板,PyCharm 会将选择内容用双引号引起来,如下所示:。CtrlAlt0T"EXAMPLE"
实时模板变量中使用的函数
以下函数可用于定义实时模板变量:
功能 | 描述 |
---|---|
| 返回指示当前语言上下文中块注释结尾的字符。 |
| 返回指示当前语言上下文中块注释开始的字符。 |
| 将字符串转换为驼峰命名法。 例如, |
| 将字符串的第一个字母大写。 例如, |
| 将字符串的所有字母大写,并在各部分之间插入下划线。 例如, |
| 返回系统剪贴板的内容。 |
| 删除 |
| 返回当前语言上下文中指示注释结束的字符。对于带有行注释的语言,返回值为空。 |
| 返回指示当前语言上下文中注释开始的字符。对于带有行注释的语言,返回值是行注释的开头,与lineCommentStart()相同。 |
| 在变量的位置调用代码完成。 |
| 在变量的位置调用智能类型完成。 |
| 返回作为参数传递给函数的所有字符串的串联。 例如, |
| 返回当前系统日期。 默认情况下,不带参数,它返回当前系统格式的日期。要使用不同的格式,请根据SimpleDateFormat规范提供参数。例如, |
| 返回表或视图的列列表。用于 |
| 返回表或视图的名称。用于 |
| 将字符串的第一个字母替换为相应的小写字母。 例如, |
| 如果在 return 语句中使用表达式,则返回默认值。 |
| 显示可用 Django 块的完成弹出窗口。 |
| 显示可用 Django 过滤器的完成弹出窗口。 |
| 显示可用 Django 模板标签的完成弹出窗口 |
| 显示可用 Django 变量的完成弹出窗口。 |
| 返回模板展开时建议完成的字符串列表。 例如, |
| 转义特殊字符,以便结果可以在 Java 字符串中使用。 例如,它将制表符替换为 |
| 返回模板扩展处的表达式的预期类型(在赋值的右侧部分、 after |
| 返回当前文件的名称及其扩展名。 |
| 返回当前文件的名称,不带扩展名。 |
| 返回当前文件的绝对路径。 |
| 返回相对于当前项目的当前文件路径。要检查给定文件的相对路径,请右键单击该文件并选择“复制引用”,或按。CtrlAltShift0C |
| 返回作为参数传递的字符串的第一个单词。 例如, |
| 执行作为字符串传递的 Groovy 脚本。 第一个参数是一个字符串,其中包含脚本的文本或包含脚本的文件的路径。 以下示例显示了一个
以下示例显示了一个
最后一个示例使用 |
| 返回当前 JavaScript 数组的名称。 |
| 返回当前 JavaScript 类的名称。 |
| 返回当前 JavaScript 组件的类型。 |
| 根据模块的名称,返回来自 的参数 |
| 返回当前 JavaScript 方法的名称。 |
| 返回当前 JavaScript 类的完整名称。 |
| 布尔参数确定当前上下文中是否允许常量。如果未指定参数,则允许使用常量。当模板展开时,会显示一个列表 |
| 建议类型 |
| 从最常用的索引变量中返回建议的名称: |
| 根据引用变量命名规则的代码样式设置,根据变量类型和初始值设定项表达式返回变量的建议名称。例如,如果它是一个在迭代中保存元素的变量,PyCharm 会考虑迭代的容器的名称,猜测最合理的名称。 |
| 返回指示当前语言上下文中行注释开头的字符。 |
| 返回当前行号。 |
| 将字符串转换为小写并插入 n 破折号作为分隔符。例如, |
| 返回当前 Python 类(模板展开的类)的名称。 |
| 返回当前 Python 函数的名称。 |
| 为可迭代变量启用范围特定的完成。 |
|
例如, |
| 向函数或方法添加参数时返回参数详细信息。 使用示例: |
| 将字符串转换为Snake_case。例如, |
| 返回以空格作为分隔符的指定字符串。例如, |
| 将作为参数传递的字符串中的空格替换为下划线。例如, |
| 返回指定分隔符之前的子字符串。这对于删除测试文件名中的扩展名很有帮助。例如,如果在名为component-test.js 的文件中使用,则 |
| 返回当前系统时间。 默认情况下,不带参数,它返回当前系统格式的时间。要使用不同的格式,请根据SimpleDateFormat规范提供参数。例如, |
| 将带有下划线的字符串(如Snake_case)转换为CamelCase。例如, |
| 将字符串中的下划线转换为空格。例如, |
| 返回当前用户的名称。 |
例子
让我们使用变量和函数制作一个简单的实时模板。它将创建一个带有预定义类变量和方法的 Python 类。该模板将包含三个变量:
$ClassName$
:新类的名称$Food$
:三个可能值的列表:“肉”、“草”和“蜂蜜”$AnimalName$
:类名以小写字母开头,以便可以在句子中使用
创建带有变量的模板
按打开 IDE 设置,然后选择编辑器 | 实时模板。CtrlAlt0S
选择“Python”组,单击,然后选择“实时模板”。
在缩写字段中,指定将用于扩展模板的字符。例如,
animal
。在模板文本字段中,粘贴以下模板:
class $ClassName$(Animal): food = "$Food$" def animal_food(self): print(f"The $AnimalName$ eats {self.food}.")
如果出现“无适用的上下文”警告,请单击“定义”并选择您希望此实时模板可用的上下文。例如,Python:
单击编辑变量...,然后在编辑模板变量对话框中配置变量:
$ClassName$
保持不变,这意味着我们希望用户在应用此模板时输入一个值。$Food$
:在表达式字段中输入enum("meat","grass","honey")
。当用户应用此模板时,此功能允许选择预定义值之一。$AnimalName$
:在表达式字段中输入decapitalize(ClassName)
。该函数获取变量的值ClassName
并将其第一个字母转换为小写。如果已定义,请选择“跳过” ,因为我们不需要提示用户输入。
使用实时模板
开始输入实时模板的名称(
animal
在我们的示例中)。输入变量的值(在我们的示例中为类名),然后按跳转到下一个变量。Tab
使用键盘箭头选择字符串的值之一
food
。
感谢您的反馈意见!