CodeMirror 6
CodeMirror 6 is a rewritten modular code editor architecture with a small core that loads language packages and extensions on demand. It is more friendly to touch, virtual keyboards, and IME input, and is widely used in mobile and embedded code editors.
Timeline (last 90 days)
Simon Willison originally intended to use the Monaco editor, but because Monaco's current mobile experience is not good enough, he switched to CodeMirror 6.
CodeMirror 6 is a rewritten modular architecture with a very small core that pulls in language packs and extensions on demand, and its event model is friendlier to touch, virtual keyboards, and IME input, making it widely used for mobile and embedded code editors.
All Facts (10)
CodeMirror 6的语法解析采用自研的Lezer解析器系统,使用增量解析技术只重新解析文档中发生变化的部分
90%UnverifiedGhost Text 补全功能在 CodeMirror 6 中通过 Decoration API 实现,可以在不修改实际文档内容的情况下渲染虚拟文本层
85%UnverifiedCodeMirror 6被广泛应用于Replit、Observable、Chrome DevTools等知名产品中
80%UnverifiedMonaco Editor打包体积通常在2-3MB以上,而CodeMirror 6核心包体积约100-200KB
80%UnverifiedCodeMirror 6 相比 Monaco Editor(VS Code 使用的编辑器引擎)更轻量、更易于在 Web 应用中嵌入,且对移动端支持更好
75%UnverifiedCodeMirror 6由Marijn Haverbeke于2021年发布,与前代CodeMirror 5相比是完全从零重写的项目,采用不可变状态模型和事务机制
60%UnverifiedCodeMirror 6 是对前代版本的完全重写,将编辑器状态与视图完全分离,所有状态变更通过不可变的 Transaction 机制传递
60%UnverifiedPolaris 的编辑器基于 CodeMirror 6 构建,支持语法高亮、代码折叠和 Minimap 功能
60%UnverifiedSimon Willison originally intended to use the Monaco editor, but because Monaco's current mobile experience is not good enough, he switched to CodeMirror 6.
50%UnverifiedCodeMirror 6 is a rewritten modular architecture with a very small core that pulls in language packs and extensions on demand, and its event model is friendlier to touch, virtual keyboards, and IME input, making it widely used for mobile and embedded code editors.
50%