Skip to content

BizCodeEditor 代码编辑器 ​

基于 CodeMirror 6 的代码编辑器:JSON / SQL / JavaScript / YAML 语法高亮、行号、只读、自动换行、缩进宽度、one-dark 暗色主题、JSON 一键格式化。

规则引擎表达式、低代码平台脚本、SQL 查询控制台、系统参数 JSON 配置等场景;与 BizJsonViewer(只读展示)互补。CodeMirror 系包为可选 peer 依赖——首次挂载动态 import,未安装时组件内显示安装指引:

bash
npm i codemirror @codemirror/lang-json @codemirror/lang-sql @codemirror/lang-javascript @codemirror/lang-yaml @codemirror/theme-one-dark

按语言最小化安装即可(只用 JSON 时装 codemirror + @codemirror/lang-json);@codemirror/theme-one-dark 仅 dark 模式需要。

基础用法 ​

编辑器加载中…
内容随输入实时同步(v-model)
JSON 系统参数编辑:v-model 实时同步,language="json" 启用语法高亮与括号折叠。

SQL 只读与 JSON 格式化 ​

编辑器加载中…
编辑器加载中…
readonly 只读展示固化查询(光标交互禁用、line-wrap 关闭长行不折叠);expose 的 format() 对 JSON 一键美化,缩进取 tab-size。

程序化读写 ​

编辑器加载中…
setValue / getValue 经组件 ref 完成程序化读写;外部 v-model 变更也会同步进编辑器(内容一致时跳过)。

缩进与换行 ​

tab-size=2,自动换行开启(长行折叠)
编辑器加载中…
tab-size=4,自动换行关闭(长行横向滚动)
编辑器加载中…
tab-size 2 对 4 对比;line-wrap 关闭后长行横向滚动(URL 等单行内容不折叠)。

事件流 ​

编辑器加载中…
在编辑器中输入 / 切换焦点,事件在此打点…
ready / change / focus / blur 事件打点——适合做「配置已修改未保存」的脏检查提醒。

暗色主题与多语言 ​

编辑器加载中…
编辑器加载中…
dark 启用 one-dark;JavaScript / YAML 等语言按需加载对应语法包。

Props ​

属性名类型默认值说明
model-value / v-modelstring''代码内容
language'text' | 'json' | 'sql' | 'javascript' | 'yaml''text'语言 / 语法高亮
readonlybooleanfalse只读(含光标交互禁用)
heightnumber | string240编辑器高度(数字按 px)
darkbooleanfalse暗色主题(one-dark;未安装对应包时回退亮色并告警)
tab-sizenumber2缩进空格数(同时作为 JSON 格式化缩进)
line-wrapbooleantrue是否自动换行(长行折叠)

Events ​

事件名参数说明
change(value: string)内容变更(含格式化 / 程序化写入)
update:model-value(value: string)v-model 更新
focus / blur—编辑器聚焦 / 失焦
ready—依赖加载完成、编辑器就绪后触发一次

Expose ​

属性/方法说明
focus聚焦编辑器
format() => boolean JSON 一键格式化(其他语言提示不支持,语法错误返回 false)
getValue() => string 当前代码内容
setValue(value: string) => void 程序化写入代码内容