代码搜索

代码搜索视图让您可以扫描数据库中的每一段脚本。您可以组合使用以下选项:
| 按钮 | 选项 | 效果 |
|---|---|---|
.* | 正则表达式 | 把您的查询当作正则表达式来解释,让您用上模式匹配的全部能力(量词、字符类、锚点等)。区分大小写和全字匹配选项仍可同时使用。 |
Aa | 区分大小写 | 勾选后,搜索将区分大小写——“A”和“a”被视为不同的字符。 |
\b | 全字匹配 | 只保留未与其他字母或数字相连的匹配结果。以空格、标点等分隔的词才会被匹配。 |
这三个按钮按此顺序位于输入框内的右侧;当输入框不为空时,它们后面会出现一个叉号,用于清空输入框。
当您离开输入框时——点击别处、按 Tab 键,或者自 3.2.0 版起按 Enter 键——或者从历史中选择一次搜索时,搜索就会开始。自同一版本起,按 Esc 键会离开输入框并放弃您在其中输入的内容:当前的搜索仍然显示。搜索文本和三个选项由浏览器记住,适用于所有数据库。
搜索历史
点击输入框会展开您最近的 20 次搜索,最新的在最上面;输入时列表会随之筛选。点击叉号可将某次搜索从历史中移除。
结果
计数器显示已显示的结果数和找到的结果总数。结果以每批 100 条的方式显示:在列表底部,+100 会再显示接下来的 100 条(剩余不足 100 条时显示为 +N);要显示剩余的 N 条,请点击全部(N)。
解读一条结果
每条结果都是一行,其呈现方式与字段与公式中相同:类型图标、依赖徽章、“Fx”,然后是该元素的面包屑导航,其中的粗体部分指明找到该文本的代码。
- 鼠标悬停在粗体部分上时,代码会显示在一个气泡中,找到的文本以高亮显示。
- 点击粗体部分会在该代码处打开 Ninox 编辑器,找到的文本以高亮显示。
- 在编辑模式(“Edit mode”)下,鼠标悬停时该行右侧会出现一个红色按钮:对于涉及字段的行,它会在表单上选中该字段;对于其他行,它会打开代码编辑器。
- 点击字段的依赖徽章,会在字段与公式标签页中打开该字段。
搜索范围
搜索会遍历数据库中的全部代码:
- 全局代码和“After Open”触发器;
- 表的触发器;
- 字段的公式和触发器:按钮、创建后或修改后触发器、“Display only if”、读写权限、显示格式、动态选项、约束;
- 视图的列:其公式和条件格式;
- 打印报表:包含花括号公式的文本、HTML 块、修订列、带公式的图片字段,以及 Carbone 报表的数据源(只读取数据源的公式,不读取 Word 文件)。
正则表达式示例
需要重温正则表达式语法?https://regexone.com 上有一份简明教程。
下面这个正则表达式可以找出所有 where 子句按 ID 过滤的 select:
\bselect\b[^;]*(?<!\.)\bid\b
这有助于您快速找出可以把 first(select myTable where ID = searchId) 替换为更快写法 record(myTable, searchId) 的地方。
逐步解析:
| 正则表达式片段 | 说明 |
|---|---|
\bselect\b | 匹配完整单词 select(避免匹配到“selected”之类的词)。 |
[^;]* | 匹配零个或多个除 ; 以外的字符,确保 select 与 id 之间不出现分号。 |
(?<!\.) | 一个否定后行断言,确认 id 之前紧邻的位置没有 . 。 |
\bid\b | 匹配完整单词 id(避免匹配到“userid”或“ident”之类的子串)。 |
