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