搜索模板、修饰符和脚本约束
当您构建结构搜索模板时,实际上是在编写脚本。 为简化您的脚本编写过程,DataGrip 为您提供了一系列预定义的 搜索模板 ,您可以将其用作搜索模板的原型。

有关如何访问现有搜索和替换模板列表,请参阅 结构化搜索和替换部分。
每个搜索或替换模板由变量 $variable_name$ 组成,您可以为其添加条件(修饰符)以缩小搜索结果。 修饰符取决于您搜索模板中的变量。
计数修饰符
计数 修饰符指定了出现的次数。
如果您未显式设置 计数 修饰符,IDE 仅会查找一个模板匹配项。 换句话说,当未应用 计数 修饰符时,修饰符的默认值为 min = 1 和 max = 1。
DataGrip 添加 [0,∞] 到变量中并搜索指定范围的数字。
参考修饰符
引用 修饰符使您可以在变量中引用其他搜索模板。
引用将始终包含预配置或已保存模板的名称,您可以使用自动完成来填写此字段。
类型修饰符
Type 修饰符为指定的变量添加了一个预期值或表达式类型。
要查找类型类别,请使用方括号中的类别名称(例如, [string] 或 [integer])。
要查找特定类型,请使用类型名称作为修饰符值(例如, text、 varchar(50)、 int)。 此外,您可以在过滤器值中使用正则表达式(例如, varchar\(.*\))。 要启用正则表达式,请在修饰符设置中选择 正则表达式 复选框。
UNKNOWN用于无法识别类型的表达式。INTEGER是一个数值数据类型,范围从 -2147483648 到 2147483647(例如,column_1 int)。REAL是一个数值数据类型,用于从 -3.40E + 38 到 3.40E + 38 的浮点精度数字数据(例如,column_1 real)。STRING是一个字符串数据类型,包括所有对应的类型,如 CHAR、VARCHAR、TEXT 等(例如,column_1 real)。BOOLEAN是一个布尔类型,可以是true或false。DATE_TIME是日期和时间的组合。 格式:YYYY-MM-DD hh:mm:ss。DATE是日期类型。 格式:YYYY-MM-DD。TIME是时间类型。 格式:hh🇲🇲ss。TIMESTAMP是日期和时间类型,以自 Unix 纪元('1970-01-01 00:00:00' UTC)以来的秒数存储。 格式:YYYY-MM-DD hh🇲🇲ss。INTERVAL是一个类型,用于存储两个日期时间值之间的时间量(例如,now() - INTERVAL '1 year 3 hours 20 minutes')。BYTES是一个数据类型,允许从 0 到 255 的整数。ARRAY是一个复合数据类型,由零个或多个指定数据类型的元素组成(例如,column_1 ARRAY[int])。COLLECTION是一个有序的元素组,所有元素类型相同。TABLE是一个数据类型,用于存储结果集以供后续处理。RECORD是一个数据类型,允许创建具有所需列结构的新数据类型。SETOF是一个返回类型,用于返回结果集。

文本过滤器
文本 修饰符根据正则表达式或纯文本检查变量。
例如, var\d 值在 expression 上下文中的 text 修饰符将找到所有以 var 开头并在其后有一个数字的变量。

脚本约束
脚本 修饰符向搜索模板中添加 Groovy 脚本约束。 Script constraints 用于当您搜索某些语言结构时。
在 script constraints 中可以访问模板中使用的所有变量。 当您向变量添加脚本约束时,DataGrip 会将其与 PSI 树进行匹配,此变量实际上是 PSI 树中的一个 节点。
