在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 相关文章推荐
学习ExtJS TextField常用方法
Oct 07 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
Oct 11 Javascript
jquery ajax提交整个表单元素的快捷办法
Mar 27 Javascript
解决jquery版本冲突的有效方法
Sep 02 Javascript
javascript实现滑动解锁功能
Dec 31 Javascript
JavaScript实现Java中StringBuffer的方法
Feb 09 Javascript
JavaScript原生对象常用方法总结(推荐)
May 13 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
Dec 16 Javascript
Web制作验证码功能实例代码
Jun 19 Javascript
解决vue页面刷新或者后退参数丢失的问题
Mar 13 Javascript
vue实现微信分享链接添加动态参数的方法
Apr 29 Javascript
vue-cli中实现响应式布局的方法
Mar 02 Vue.js
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 在线翻译函数代码
2009/05/07 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
php中json_encode UTF-8中文乱码的更好解决方法
2014/09/28 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
php实现微信支付之企业付款
2018/05/30 PHP
JScript的条件编译
2007/05/29 Javascript
javascript取消文本选定的实现代码
2010/11/14 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
jquery ajax 同步异步的执行 return值不能取得的解决方案
2012/01/08 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python中用Decorator来简化元编程的教程
2015/04/13 Python
使用python的pandas库读取csv文件保存至mysql数据库
2018/08/20 Python
python2.7实现邮件发送功能
2018/12/12 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
计算机科学与技术应届生求职信
2013/11/07 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
工程建设实施方案
2014/03/14 职场文书
优质服务活动实施方案
2014/05/02 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
建筑管理专业求职信
2014/07/28 职场文书
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android