codemirror介绍
CodeMirror 是使用 JavaScript 为浏览器实现的多功能文本编辑器。它专门用于编辑代码,并具有实现更高级编辑功能的多种语言模式 (language mode)和附加组件(addon)。
CodeMirror 具有丰富的 API 和 CSS 主题系统,方便用户为其应用程序作定制化,并且易于扩展。本文主要聚焦于在 vue 工程中 json 的编辑功能。
codemirror的CDN引入
在github中找到vue-codemirror的CDN Example,复制需要的内容到自己的代码中即可。
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。
其他配置可参考配置及编辑器事件