JS代码编辑器codemirror的使用及常用配置

2,330 阅读1分钟

codemirror介绍

CodeMirror 是使用 JavaScript 为浏览器实现的多功能文本编辑器。它专门用于编辑代码,并具有实现更高级编辑功能的多种语言模式 (language mode)和附加组件(addon)。
CodeMirror 具有丰富的 API 和 CSS 主题系统,方便用户为其应用程序作定制化,并且易于扩展。本文主要聚焦于在 vue 工程中 json 的编辑功能。

codemirror的CDN引入

在github中找到vue-codemirror的CDN Example,复制需要的内容到自己的代码中即可。

SCR-20220802-tmb-2.png

codemirror的常用配置(cmOption)

想要高级一些,给编辑器添加一些元素,可以通过传入配置参数来实现。

readOnly: boolean|string
编辑器是否只读。如果设置为预设的值 “nocursor”,那么除了设置只读外,编辑区域还不能获得焦点(也不能复制粘贴)。

showCursorWhenSelecting: boolean
在选择时是否显示光标,默认为false。

lineWrapping: boolean
在长行时文字是换行(wrap)还是滚动(scroll),默认为滚动(scroll)。

lineNumbers: boolean
是否在编辑器左侧显示行号。

firstLineNumber: integer
行号从哪个数开始计数,默认为1 。

fixedGutter: boolean
设置行号gutter跟随编辑器内容水平滚动(false)还是固定在左侧(true或默认)。

cursorBlinkRate: number
光标闪动的间隔,单位为毫秒。默认为530。当设置为0时,会禁用光标闪动。负数会隐藏光标。

cursorHeight: number
光标高度。默认为1,也就是撑满行高。对一些字体,设置0.85看起来会更好。

tabSize: integer
tab字符的宽度,默认为4 。

showCursorWhenSelecting: boolean
在选择时是否显示光标,默认为false。

其他配置可参考配置及编辑器事件