Proofing · 拼写与语法校对
把文本分段提交给宿主提供的校对 provider,显示临时问题标记。provider 默认为 null,仅安装扩展不会产生校对结果。
把文本分段提交给宿主提供的校对 provider,显示临时问题标记。provider 默认为 null,仅安装扩展不会产生校对结果。
@quirekit/extension-proofing · MIT
编辑器适用范围
层次:共享文档能力
| 编辑器 | 状态 | 所需装配与边界 |
|---|---|---|
| Classic | 直接支持 | createClassicWordPreset — 使用 createClassicWordPreset 装配 Word 模型、布局与产品适配;具体控件、开关、宿主服务及文件支持以本页说明为准。批注、修订和内容控件的完整创作界面另需 Pro。 |
| Block | 需适配 | 需由宿主连接本页所列服务、目标与生命周期,并验证所选 View 和文档模型。核心接口可复用,但没有一段无宿主参数的通用产品安装代码。 |
“直接支持”指已有上述产品装配;具体交互、宿主服务和格式支持仍有各自条件。状态与接入规则。许可独立显示。
接入
pnpm add @quirekit/extension-proofing@alpha
在创建 Editor 时放入 extensions。挂载容器、视图和保存由宿主提供,见快速开始。
import { Proofing } from '@quirekit/extension-proofing'
安装时按包声明选择兼容版本,外部可用版本以分发源为准。本站使用工作区 Alpha;许可标签来自入口所属包,使用条件见支持与许可。
按编辑器接入
以下片段沿用已挂载的宿主元素 element,宿主负责容器尺寸与保存;退出页面时调用 instance.destroy()。已有预设装配的能力不要再重复追加;需要宿主端口的入口应先完成下方配置。
Classic · 直接支持
使用 createClassicWordPreset 装配 Word 模型、布局与产品适配;具体控件、开关、宿主服务及文件支持以本页说明为准。批注、修订和内容控件的完整创作界面另需 Pro。
createClassicWordPresetimport { createClassicEditor } from '@quirekit/classic-editor'
import '@quirekit/classic-editor/styles.css'
import { createClassicWordDefaultDocument, createClassicWordPreset } from '@quirekit/classic-docx'
import '@quirekit/classic-docx/styles.css'
const instance = createClassicEditor({
element,
preset: createClassicWordPreset(),
document: createClassicWordDefaultDocument(),
})Block · 需适配
需由宿主连接本页所列服务、目标与生命周期,并验证所选 View 和文档模型。核心接口可复用,但没有一段无宿主参数的通用产品安装代码。
配置
下面是扩展自身的默认选项。预设可以覆盖这些值;它们不等于当前文档属性。配置方法见配置插件。
enabled
是否启用此能力的会话行为。禁用不会删除规范文档内容。
类型:boolean
默认:true
provider
校对服务接口。默认 null 不执行检查;宿主提供拼写、语法服务或选择独立 provider 适配包。
类型:ProofingProvider | null
默认:null
policy
校对时的策略适配,用于语言、分段或业务范围等规则。
类型:ProofingDocumentPolicy | null
默认:null
defaultLanguage
未从文本读取到语言时使用的默认语言;CodeBlock 中则是代码语言值。
类型:string | null
默认:"en-US"
debounceMs
连续输入后等待再检查的延迟,单位为毫秒。
类型:number
默认:400
maxWaitMs
连续输入期间允许推迟校对的最长时间,单位为毫秒。
类型:number
默认:2000
timeoutMs
单次校对请求超时,单位为毫秒。
类型:number
默认:10000
maxConcurrentRequests
最多同时执行的校对请求数。
类型:number
默认:2
maxSegmentsPerBatch
每批提交的最大文本分段数。
类型:number
默认:40
maxCharactersPerBatch
每批提交的最大字符数。
类型:number
默认:8000
maxSuggestions
每个校对问题最多保留的建议数。
类型:number
默认:5
maxIssues
会话最多保留的问题数量,避免无界增长。
类型:number
默认:2000
dictionaryStore
个人词典的宿主持久化接口。未提供时不承诺跨页面保留。
类型:ProofingDictionaryStore | null
默认:null
appearance
拼写、语法与风格问题的下划线颜色配置。
类型:ProofingAppearance
默认:{ spelling: "#e5484d", grammar: "#3e63dd", style: "#8e4ec6" }
onError
校对发生错误时的回调;用于宿主反馈或记录失败。
类型:((error: ProofingError) => void) | null
默认:null
resolveVisibleRange
读取当前可见文档范围,供校对调度优先处理。默认实现使用已挂载视图。
类型:((editor: QuireEditor) => ProofingRange | null) | null
默认:resolveDefaultProofingVisibleRange
命令与运行方式
以下命令由此扩展直接提供,均在当前 Editor 上调用。命令是否可用由已安装 schema、当前选区与保护策略决定;可以先用 editor.can() 查询。
| 命令 | 参数签名 |
|---|---|
setProofingEnabled | setProofingEnabled(enabled: boolean) |
recheckProofing | recheckProofing() |
replaceProofingIssue | replaceProofingIssue(issueId: string, replacement: string) |
ignoreProofingIssue | ignoreProofingIssue(issueId: string) |
ignoreProofingWord | ignoreProofingWord(word: string) |
addProofingWord | addProofingWord(word: string) |
这里只展示参数签名。接界面时见命令与控件,正文变更继续经过同一事务与历史。
接入 provider 后才会检查。可选适配包为 @quirekit/proofing-harper 与 @quirekit/proofing-hunspell;二者是服务实现,不是再放进 extensions 的另一项 Core 扩展。