当前文件只包含 1.x
及以上版本的更新日志,因为在 1.x
版本dt-react-monaco-editor
进行了大范围重构,随之而来的是许多破坏性变更。
去 CHANGELOG.md 查看更多更新日志。
2024-04-17
- 🚫 移除
MonacoDiffEditor
的readOnly
选项,因为它与options.readOnly
冲突 (c953ea5)
2024-01-11
- 🐞 不再手动销毁 model (486092d)
2023-11-10
- 🆕 新增
editorWillMount
、editorDidMount
、editorWillUnMount
三个生命周期钩子,MonacoEditor
与MonacoDiffEditor
均支持。(57ca6ff) - 🚫 废弃
MonacoEditor
的editorInstanceRef
属性和MonacoDiffEditor
的diffEditorInstanceRef
属性,并计划在未来版本移除,对应可以使用editorDidMount
声明周期钩子替代。(57ca6ff)
2023-7-13
2023-06-14
- 🗑 移除内置的自定义 languages 相关功能,包括:
dtsql
dtflink
dtPython2
dtPython3
dtlog
- 🗑 移除所有与自动补全和语法解析相关的
utils
。 - 🛠 不再默认导出
Editor
组件,取而代之的是具名导出MonacoEditor
和MonacoDiffEditor
组件。
- 🗑 移除所有与自动补全和语法解析相关的属性。
- 🗑 移除组件的
isLog
属性。 - 🗑 移除
cursorPosition
属性。 - 🛠 内置 dom container 的
className
从code-editor
变更为react-monaco-editor-container
。 - 🐞 修复 当
sync
属性为true
时,value
的更新会触发onChange
事件回调的 bug, 在1.x
版本中,开启了 sync 标识后,组件即变成受控状态,并且支持撤销操作。
- 🛠
original
属性类型变更为string
,对应 originalEditor 的value
。 - 🛠
modified
属性更名为value
, 其类型变更为string
,对应 modifiedEditor 的value
。 - 🗑 移除
editorInstanceRef
属性,仍可以使用diffEditorInstanceRef
对应的 ref 获取到对应的originEditor
和modifiedEditor
。 - 🗑 移除组件顶部显示的 当前版本 和 历史版本 title。
- 🗑 移除
onBlur
、onFocus
、onCursorSelection
,但仍然支持onChange
。 - 🆕 新增
readOnly
属性,控制modifiedEditor
是否为只读模式。 - 🛠 内置 dom container 的
className
从code-editor
变更为react-monaco-diff-editor-container
。 - 🗑 不再在组件挂载时动态改变
theme
。
- 🛠
commonFileEditDelegator
已经重命名为commandDelegator
。
在 0.x
版本,dt-react-monaco-editor
内置了一些自定义的 languages
,但是由于 MonacoEditor
language 功能注册方式限制,当项目中引入 dt-react-monaco-editor
时,总是间接的引入了 dt-react-monaco-editor
内置的所有 languages,即使其中某些 languages 功能是项目不需要的。并且没有被使用的 languages 功能无法被打包工具 treeShaking,这毫无疑问增加了项目的打包体积。
所以在 1.x
版本,dt-react-monaco-editor
移除了所有内置的 languages
功能,这对于 dt-react-monaco-editor
来说实际上是一种解耦操作。开发者仍然可以通过引入 monaco-sql-languages,来使用多种 sql languages 的高亮、自动错误提示以及自动补全功能。另外 monaco-sql-languages 支持按需引入,因此不再需要担心在 0.x
版本中遇到的问题。