在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 相关文章推荐
json简单介绍
Jun 10 Javascript
判断某个字符在一个字符串中是否存在的js代码
Feb 28 Javascript
LABjs、RequireJS、SeaJS的区别
Mar 04 Javascript
jQuery中的siblings用法实例分析
Dec 24 Javascript
JQuery控制图片由中心点逐渐放大效果
Jun 26 Javascript
AngularJS入门教程之链接与图片模板详解
Aug 19 Javascript
AngularJs bootstrap搭载前台框架——准备工作
Sep 01 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
原生JS 购物车及购物页面的cookie使用方法
Aug 21 Javascript
JavaScript实现连连看连线算法
Jan 05 Javascript
vue cli4下环境变量和模式示例详解
Apr 09 Javascript
解决vue2中使用elementUi打包报错的问题
Sep 22 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 用数组降低程序的时间复杂度
2009/12/04 PHP
PHP中PDO基础教程 入门级
2011/09/04 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
2013/09/26 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
JavaScript 程序编码规范
2010/11/23 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
python-xpath获取html文档的部分内容
2020/03/06 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
2020/07/20 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
如何打开WebSphere远程debug
2014/10/10 面试题
密封类可以有虚函数吗
2014/08/11 面试题
写自荐信要注意什么
2013/12/26 职场文书
三项教育活动实施方案
2014/03/30 职场文书
公司口号大全
2014/06/11 职场文书
公司授权委托书
2014/10/17 职场文书
庐山导游词
2015/02/03 职场文书
员工辞职信范文大全
2015/05/12 职场文书
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android