在vue项目中使用codemirror插件实现代码编辑器功能


Posted in Javascript onAugust 27, 2019

在vue项目中使用codemirror插件实现代码编辑器功能(代码高亮显示及自动提示),具体内容如下所示:

1、使用npm安装依赖

npm install --save codemirror;

2、在页面中放入如下代码

<template>
 <textarea ref="mycode" class="codesql" v-model="code" style="height:200px;width:600px;"></textarea>
</template>
<script>
import "codemirror/theme/ambiance.css";
import "codemirror/lib/codemirror.css";
import "codemirror/addon/hint/show-hint.css";
let CodeMirror = require("codemirror/lib/codemirror");
require("codemirror/addon/edit/matchbrackets");
require("codemirror/addon/selection/active-line");
require("codemirror/mode/sql/sql");
require("codemirror/addon/hint/show-hint");
require("codemirror/addon/hint/sql-hint");
 export default {
   name: "codeMirror",
  data () {
   return {
    code: '//按Ctrl键进行代码提示'
   }
  },
  mounted () {
   debugger
   let mime = 'text/x-mariadb'
   //let theme = 'ambiance'//设置主题,不设置的会使用默认主题
   let editor = CodeMirror.fromTextArea(this.$refs.mycode, {
    mode: mime,//选择对应代码编辑器的语言,我这边选的是数据库,根据个人情况自行设置即可
    indentWithTabs: true,
    smartIndent: true,
    lineNumbers: true,
    matchBrackets: true,
    //theme: theme,
    // autofocus: true,
    extraKeys: {'Ctrl': 'autocomplete'},//自定义快捷键
    hintOptions: {//自定义提示选项
     tables: {
      users: ['name', 'score', 'birthDate'],
      countries: ['name', 'population', 'size']
     }
    }
   })
   //代码自动提示功能,记住使用cursorActivity事件不要使用change事件,这是一个坑,那样页面直接会卡死
   editor.on('cursorActivity', function () {
    editor.showHint()
   })
  }
 }
</script>
<style>
.codesql {
  font-size: 11pt;
  font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
 }
</style>

3、话不多说,直接上图

在vue项目中使用codemirror插件实现代码编辑器功能

总结

以上所述是小编给大家介绍的在vue项目中使用codemirror插件实现代码编辑器功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
线路分流自动跳转代码;希望对大家有用!
Dec 02 Javascript
ext for eclipse插件安装方法
Apr 27 Javascript
XENON基于JSON变种
Jul 27 Javascript
JS 如果改变span标签的是否隐藏属性
Oct 06 Javascript
JavaScript在多浏览器下for循环的使用方法
Nov 07 Javascript
js 实现浏览历史记录示例
Apr 20 Javascript
JavaScript实现的select点菜功能示例
Jan 16 Javascript
vue.js实现条件渲染的实例代码
Jun 22 Javascript
详解es6新增数组方法简便了哪些操作
May 09 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
Sep 20 Javascript
微信小程序实现购物车功能
Nov 18 Javascript
JavaScript圣杯布局与双飞翼布局实现案例详解
Aug 05 Javascript
vue使用codemirror的两种用法
Aug 27 #Javascript
微信小程序中为什么使用var that=this
Aug 27 #Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
Aug 27 #Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 #Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
Aug 27 #jQuery
JS多个表单数据提交下的serialize()应用实例分析
Aug 27 #Javascript
解决Vue中 父子传值 数据丢失问题
Aug 27 #Javascript
You might like
PHP生成Flash动画的实现代码
2010/03/12 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
JSON 编辑器实现代码
2009/12/06 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
详解JavaScript UTC时间转换方法
2016/01/07 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
layer iframe 设置关闭按钮的方法
2019/09/12 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
在Python中实现贪婪排名算法的教程
2015/04/17 Python
Python文件去除注释的方法
2015/05/25 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
pandas系列之DataFrame 行列数据筛选实例
2018/04/12 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
在keras中实现查看其训练loss值
2020/06/16 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
Python map及filter函数使用方法解析
2020/08/06 Python
自荐信如何“自荐”
2013/10/24 职场文书
烹饪自我鉴定
2014/03/01 职场文书
《将心比心》教学反思
2014/04/08 职场文书
项目委托协议书(最新)
2014/09/13 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
《从现在开始》教学反思
2016/02/16 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技
winserver2019安装软件一直卡在应用程序正在为首次使用做准备
2022/06/10 Servers