前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue集成codemirror代码编辑器

vue集成codemirror代码编辑器

作者头像
青年码农
发布2022-05-31 09:40:48
1.8K0
发布2022-05-31 09:40:48
举报
文章被收录于专栏:青年码农青年码农青年码农

CodeMirror是一个用 JavaScript 为浏览器实现的通用文本编辑器。它专门用于编辑代码,并带有多种语言模式和插件 ,可实现更高级的编辑功能。

本教程是基于vue2实现集成,使用vue-codemirror插件

1. 安装

# npm
npm install vue-codemirror -S
# yarn
yarn add vue-codemirror -S

2. 新建组件并引入

<template>
  <div>
    <codemirror
      ref="cm"
      v-model="value"
      :options="options"
      @input="inputChange"
    ></codemirror>
  </div>
</template>

<script>
// 全局引入vue-codemirror
import { codemirror } from "vue-codemirror";
// 引入css文件
import "codemirror/lib/codemirror.css";
// 引入主题 可多个
import "codemirror/theme/ayu-mirage.css";
// 引入语言模式 可多个
import "codemirror/mode/sql/sql.js";
export default {
  name: "codemirror",
  components: { codemirror },
  props: {
    value: {
      default: ""
    }
  },
  data() {
    return {
      options: {
        // 语言及语法模式
        mode: "text/x-sql",
        // 主题
        theme: "ayu-mirage",
        // 显示函数
        line: true,
        lineNumbers: true,
        // 软换行
        lineWrapping: true,
        // tab宽度
        tabSize: 4
      }
    };
  },
  methods: {
    inputChange(content) {
      this.$nextTick(() => {
        console.log("content:" + content);
      });
    }
  }
};
</script>

主题引入多个,我们可以实现动态切换主题,语言模式支持多种语言。

options支持的属性很多,上面的例子只使用了几个常用的属性,更多属性请参照官方文档

https://codemirror.net/doc/manual.html#config

关于如何切换主题和语言模式,通过npm安装的vue-codemirror插件,可以在node_modules中找到codemirror文件夹,你想要的都在这里

只需要引入对应的文件,在options中切换即可。

3.最终效果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 青年码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档