CodeMirror 6
CodeMirror 6 是重写后的模块化代码编辑器架构,核心小巧,按需引入语言包和扩展,对触摸、虚拟键盘和 IME 输入更友好,广泛用于移动端和嵌入式代码编辑器。
时间轴 (近 90 天)
Simon Willison 原本打算使用 Monaco 编辑器,但因为 Monaco 目前在移动端的体验还不够好,所以改用 CodeMirror 6。
CodeMirror 6 是重写后的模块化架构,核心很小,按需引入语言包和扩展,事件模型对触摸、虚拟键盘和 IME 输入更友好,被广泛用于移动端与嵌入式代码编辑器。
全部知识事实 (10)
CodeMirror 6的语法解析采用自研的Lezer解析器系统,使用增量解析技术只重新解析文档中发生变化的部分
90%待验证Ghost Text 补全功能在 CodeMirror 6 中通过 Decoration API 实现,可以在不修改实际文档内容的情况下渲染虚拟文本层
85%待验证CodeMirror 6被广泛应用于Replit、Observable、Chrome DevTools等知名产品中
80%待验证Monaco Editor打包体积通常在2-3MB以上,而CodeMirror 6核心包体积约100-200KB
80%待验证CodeMirror 6 相比 Monaco Editor(VS Code 使用的编辑器引擎)更轻量、更易于在 Web 应用中嵌入,且对移动端支持更好
75%待验证CodeMirror 6由Marijn Haverbeke于2021年发布,与前代CodeMirror 5相比是完全从零重写的项目,采用不可变状态模型和事务机制
60%待验证CodeMirror 6 是对前代版本的完全重写,将编辑器状态与视图完全分离,所有状态变更通过不可变的 Transaction 机制传递
60%待验证Polaris 的编辑器基于 CodeMirror 6 构建,支持语法高亮、代码折叠和 Minimap 功能
60%待验证Simon Willison 原本打算使用 Monaco 编辑器,但因为 Monaco 目前在移动端的体验还不够好,所以改用 CodeMirror 6。
50%待验证CodeMirror 6 是重写后的模块化架构,核心很小,按需引入语言包和扩展,事件模型对触摸、虚拟键盘和 IME 输入更友好,被广泛用于移动端与嵌入式代码编辑器。
50%