# AutoCorrect · 自动更正

按替换表和句首规则处理输入，支持宿主持久化个人设置。它在真实输入时更正文档，不等同于只显示建议的 Proofing。

按替换表和句首规则处理输入，支持宿主持久化个人设置。它在真实输入时更正文档，不等同于只显示建议的 Proofing。

`@quirekit/extensions` · **MIT**

## 编辑器适用范围
层次：**共享文档能力**
| 编辑器 | 状态 | 所需装配与边界 |
| --- | --- | --- |
| Classic | 直接支持 | [createClassicWordPreset](/plugins/reference/create-classic-word-preset) — 使用 createClassicWordPreset 装配 Word 模型、布局与产品适配；具体控件、开关、宿主服务及文件支持以本页说明为准。批注、修订和内容控件的完整创作界面另需 Pro。 |
| Block | 需适配 | 需由宿主连接本页所列服务、目标与生命周期，并验证所选 View 和文档模型。核心接口可复用，但没有一段无宿主参数的通用产品安装代码。 |

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

## 接入

```sh
pnpm add @quirekit/extensions@alpha
```

在创建 Editor 时放入 `extensions`。挂载容器、视图和保存由宿主提供，见[快速开始](/guide/quick-start)。

```ts
import { AutoCorrect } from '@quirekit/extensions'
```

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

## 按编辑器接入

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

### Classic

使用 createClassicWordPreset 装配 Word 模型、布局与产品适配；具体控件、开关、宿主服务及文件支持以本页说明为准。批注、修订和内容控件的完整创作界面另需 Pro。

[createClassicWordPreset](/plugins/reference/create-classic-word-preset)

```ts
import { 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 和文档模型。核心接口可复用，但没有一段无宿主参数的通用产品安装代码。

## 配置

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

### defaults

没有已保存设置时采用的自动更正规则，包括替换表与句首大写开关。

类型：`AutoCorrectSettings`

默认：见下方默认值

```ts
{ replaceText: true, capitalizeSentences: true, entries: Object.freeze([ { from: "(c)", to: "©" }, { from: "(e)", to: "€" }, { from: "(r)", to: "®" }, { from: "(tm)", to: "™" }, { from: "...", to: "…" }, { from: "-->", to: "→" }, { from: "<--", to: "←" }, { from: "==>", to: "⇒" }, { from: "<==", to: "⇐" }, { from: "<=>", to: "⇔" }, { from: ":)", to: "☺" }, { from: ":-)", to: "☺" }, { from: ":(", to: "☹" }, { from: ":-(", to: "☹" }, { from: ":|", to: "😐" }, { from: ":-|", to: "😐" } ]) }
```

### firstLetterExceptions

这些缩写之后不触发句首自动大写，例如 e.g.。

类型：`readonly string[]`

默认：见下方默认值

```ts
Object.freeze([ "a.", "abbr.", "approx.", "apr.", "assn.", "assoc.", "asst.", "aug.", "ave.", "avg.", "bldg.", "blvd.", "bros.", "ca.", "cf.", "cm.", "co.", "corp.", "dec.", "dept.", "dr.", "e.g.", "eq.", "esp.", "est.", "etc.", "feb.", "fig.", "fri.", "ft.", "gov.", "govt.", "hr.", "hrs.", "i.e.", "inc.", "incl.", "jan.", "jr.", "jul.", "jun.", "kg.", "km.", "lb.", "ltd.", "mar.", "max.", "min.", "misc.", "mon.", "mr.", "mrs.", "ms.", "mt.", "no.", "nov.", "oct.", "p.", "pp.", "prof.", "rd.", "sat.", "sep.", "sept.", "sr.", "st.", "sun.", "thu.", "tue.", "vol.", "vs.", "wed." ])
```

### store

自动更正设置的加载、保存接口。null 表示不接入宿主持久化。

类型：`AutoCorrectSettingsStore | null`

默认：`null`

## 命令与运行方式

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

| 命令 | 参数签名 |
| --- | --- |
| `setAutoCorrectSettings` | `setAutoCorrectSettings(settings: AutoCorrectSettings)` |

这里只展示参数签名。接界面时见[命令与控件](/build/commands)，正文变更继续经过同一事务与历史。

## 下一步

返回[全部插件](/plugins)，或阅读[配置插件](/plugins/configuration)区分配置、文档属性与命令。

自己定义能力时见[扩展开发](/build/extension)；搭建完整宿主时见[构建产品](/build)。
