跳到正文
QuireKit
插件文档
Alpha · API 持续演进

Search · 查找与替换

维护查找匹配、当前结果与替换命令,结果高亮不进入正文。宿主可以限制检索范围、拦截不可替换区域并接入滚动定位。

维护查找匹配、当前结果与替换命令,结果高亮不进入正文。宿主可以限制检索范围、拦截不可替换区域并接入滚动定位。

@quirekit/extension-search · MIT

编辑器适用范围

层次:共享文档能力

编辑器状态所需装配与边界
Classic直接支持classicEditorPreset — 使用产品中立的 classicEditorPreset;已有能力由预设装配,不要重复追加。Word 预设会替换段落、标题和容器列表,不能把通用结构直接叠加到 Word 模型。
Block直接支持createBlockEditorPreset — createBlockEditor 默认预设已装配此能力。通过 preset 中对应子项配置;图形编辑使用预设注入的工作区,宿主仍负责保存和资源。不要重复安装同名扩展。

“直接支持”指已有上述产品装配;具体交互、宿主服务和格式支持仍有各自条件。状态与接入规则。许可独立显示。

接入

sh

在创建 Editor 时放入 extensions。挂载容器、视图和保存由宿主提供,见快速开始。

ts

安装时按包声明选择兼容版本,外部可用版本以分发源为准。本站使用工作区 Alpha;许可标签来自入口所属包,使用条件见支持与许可。

按编辑器接入

以下片段沿用已挂载的宿主元素 element,宿主负责容器尺寸与保存;退出页面时调用 instance.destroy()。已有预设装配的能力不要再重复追加;需要宿主端口的入口应先完成下方配置。

Classic · 直接支持

使用产品中立的 classicEditorPreset;已有能力由预设装配,不要重复追加。Word 预设会替换段落、标题和容器列表,不能把通用结构直接叠加到 Word 模型。

classicEditorPreset
ts

配置

下面是扩展自身的默认选项。预设可以覆盖这些值;它们不等于当前文档属性。配置方法见配置插件。

highlight

匹配结果与当前结果的展示颜色。Search 使用 match、active、activeOutline。

类型:SearchHighlightStyle

默认:{ match: "rgba(255, 196, 0, 0.35)", active: "transparent", activeOutline: "#e8710a" }

resolveScope

返回本次允许检索的文档范围;不提供时搜索完整文档。

类型:((state: EditorState) => readonly SearchScopeSegment[]) | undefined

默认:undefined

resolveExcludedScope

返回本次检索必须排除的范围,例如受业务管理的内容。

类型:((state: EditorState) => readonly SearchScopeSegment[]) | undefined

默认:undefined

checkReplaceable

替换前的宿主校验函数。返回 false 阻止该范围的替换。

类型:((state: EditorState, match: SearchMatch) => SearchReplaceVerdict) | undefined

默认:undefined

reveal

活动匹配变化时的宿主定位回调,可滚动到对应结果;不直接改正文。

类型:((tr: Transaction, match: SearchMatch) => void) | undefined

默认:undefined

命令与运行方式

以下命令由此扩展直接提供,均在当前 Editor 上调用。命令是否可用由已安装 schema、当前选区与保护策略决定;可以先用 editor.can() 查询。

命令参数签名
setSearchQuerysetSearchQuery(text: string, queryOptions?: Partial<SearchOptions> | undefined, limit?: SearchRange | undefined)
clearSearchclearSearch()
findNextfindNext()
findPreviousfindPrevious()
selectSearchMatchselectSearchMatch(index: number)
replaceSearchMatchreplaceSearchMatch(text: string)
replaceAllSearchMatchesreplaceAllSearchMatches(text: string)

这里只展示参数签名。接界面时见命令与控件,正文变更继续经过同一事务与历史。

下一步

返回全部插件,或阅读配置插件区分配置、文档属性与命令。

自己定义能力时见扩展开发;搭建完整宿主时见构建产品。

QuireKitQuireKit · Core、插件与 Classic 文档