codeMirror是一款十分强大的代码编辑插件,提供了十分丰富的API,最近在项目中用到了这款插件,作一个记录。javascript
官网css
github地址vue
npm 安装java
npm install --save codemirror
*手动引入外部的git
<link href="./static/codemirror/lib/codemirror.css" rel="stylesheet" > // 必要 <script src="./static/codemirror/lib/codemirror.js"></script> // 必要 <script src="./static/codemirror/mode/sql/sql.js"></script> // 在线编辑的语言 sql <script src="./static/codemirror/mode/sql/javscript.js"></script> // 在线编辑的语言 javascript
*npm引入(vue项目中)github
import "codemirror/lib/codemirror.css" //必要 const CodeMirror = require("codemirror/lib/codemirror") // 必要 require("codemirror/mode/sql/sql") // 在线编辑的语言 sql require('codemirror/addon/display/placeholder') // 须要使用placeholder属性
<template> <textarea placeholder="例如select * from table" ref="myCodeMirror"></textarea> </template> <script> import "codemirror/lib/codemirror.css" //必要 const CodeMirror = require("codemirror/lib/codemirror") // 必要 require("codemirror/mode/sql/sql") // 在线编辑的语言 sql require('codemirror/addon/display/placeholder') // 须要使用placeholder属性 export default { ... mounted () { this.myCodeMirror = CodeMirror.fromTextArea(this.$refs['myCodeMirror'], { lineNumbers: true, // 是否显示行数 mode: 'text/x-pgsql', // 使用什么模式 text/x-pgsql是sql javascript等 showCursorWhenSelecting: true, // 当有选中的时候是否显示光标 extraKeys: {'Ctrl': 'autocomplete'} // 自定义快捷键 }) } } </script>
this.myCodeMirror.getValue()
this.myCodeMirror.getSelection()
官网提供了十分丰富的API,当有什么问题是在github上提问,做者回复的也很快,很是好用,赞一个sql