Skip to content

Latest commit

 

History

History
88 lines (54 loc) · 4.66 KB

CHANGELOG.zh-CN.md

File metadata and controls

88 lines (54 loc) · 4.66 KB

更新日志

当前文件只包含 1.x 及以上版本的更新日志,因为在 1.x 版本dt-react-monaco-editor 进行了大范围重构,随之而来的是许多破坏性变更。

CHANGELOG.md 查看更多更新日志。


1.0.4

2024-04-17

  • 🚫 移除 MonacoDiffEditorreadOnly 选项,因为它与 options.readOnly 冲突 (c953ea5)

1.0.3

2024-01-11

  • 🐞 不再手动销毁 model (486092d)

1.0.2

2023-11-10

  • 🆕 新增 editorWillMounteditorDidMounteditorWillUnMount 三个生命周期钩子,MonacoEditorMonacoDiffEditor 均支持。(57ca6ff)
  • 🚫 废弃 MonacoEditoreditorInstanceRef 属性和 MonacoDiffEditordiffEditorInstanceRef 属性,并计划在未来版本移除,对应可以使用 editorDidMount 声明周期钩子替代。(57ca6ff)

1.0.1

2023-7-13

  • 🐞 修复 当 MonacoEditor 组件开启 sync 选项时,更新 value 的值会导致编辑器内部的内容被自动选中的问题。 (760c51a,195bcea)

1.0.0-beta.x

2023-06-14

主要变更

  • 🗑 移除内置的自定义 languages 相关功能,包括:
    • dtsql
    • dtflink
    • dtPython2
    • dtPython3
    • dtlog
  • 🗑 移除所有与自动补全和语法解析相关的 utils
  • 🛠 不再默认导出 Editor 组件,取而代之的是具名导出 MonacoEditorMonacoDiffEditor 组件。

MonacoEditor 组件(原默认导出组件)主要变更

  • 🗑 移除所有与自动补全和语法解析相关的属性。
  • 🗑 移除组件的 isLog 属性。
  • 🗑 移除 cursorPosition 属性。
  • 🛠 内置 dom container 的 classNamecode-editor 变更为 react-monaco-editor-container
  • 🐞 修复 当 sync 属性为 true 时,value 的更新会触发 onChange 事件回调的 bug, 在 1.x 版本中,开启了 sync 标识后,组件即变成受控状态,并且支持撤销操作。

MonacoDiffEditor(原 DiffEditor 组件)主要变更

  • 🛠 original 属性类型变更为 string,对应 originalEditor 的 value
  • 🛠 modified 属性更名为 value, 其类型变更为 string,对应 modifiedEditor 的 value
  • 🗑 移除 editorInstanceRef 属性,仍可以使用 diffEditorInstanceRef 对应的 ref 获取到对应的 originEditormodifiedEditor
  • 🗑 移除组件顶部显示的 当前版本历史版本 title。
  • 🗑 移除 onBluronFocusonCursorSelection,但仍然支持 onChange
  • 🆕 新增 readOnly 属性,控制 modifiedEditor 是否为只读模式。
  • 🛠 内置 dom container 的 classNamecode-editor 变更为 react-monaco-diff-editor-container
  • 🗑 不再在组件挂载时动态改变 theme

其他

  • 🛠 commonFileEditDelegator 已经重命名为 commandDelegator

如何继续使用 0.x 版本支持的 languages 功能?

使用 monaco-sql-languages

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 版本中遇到的问题。