vue-codemirror使用详细过程(包括修改宽度,更换语言模式,C++模式,HTML模式,括号补全)

近期在做一个oj项目,要使用代码编辑器,过程中碰到一些问题,现在记录下步骤。

参考文章vue-codemirror 最全踩坑之路_VITAMIN的博客-CSDN博客

大致效果:

 1.安装,直接在你的vue项目中使用npm指令

npm install vue-codemirror --save

 2.引入和参数配置,这里直接参考vue-codemirror 最全踩坑之路_VITAMIN的博客-CSDN博客

(先都按照参考文章中配置,暂时不管其含义) 

   注意,新建的setting.js文件位置,以及在组件中引入他的位置要换成自己的

3.如果要更换主题

 在上一步引入的setting.js文件底部可以看到,我们现有的能够更换的主题只有这两个

此时,我们可以去官方的不同主题展示页选择你想要的主题

vue-codemirror | Homepage | Surmon's projects

可以看到,我最终选择的主题就是cobalt

我们需要在setting.js主题文件处引入

import 'codemirror/theme/cobalt.css'

引入后,更改配置参数中的主题:(改成我们选择的cobalt主题)

 4.调整编辑器宽度

此时,效果已经能看到了,但是宽度不是很合适

 我们在官方的用户手册可以找到方法代码镜:用户手册 (codemirror.net)

该页面是英文的,我们先将其翻译成中文

 点击配置,此时我们就能理解之前配置的各项参数和含义,也可以根据需求进行更改

 当然,这里我们重点是要看外观,点击定制造型

 我们要修改的就是CodeMirror这个类,宽度设置成你想要的值

<style>
  .CodeMirror{
    width: 900px !important;
  }
</style>

 此时,我们在其中写点代码看看

 5.编辑器语言的选择

我们之前参考的文章是引入了javascript,我们这时需要其他的语言模式:

还是在官方查找:CodeMirror: Language Modes

在右边的模式中选择你想要的语言模式 :现在举几个例子

1.C++模式:

 进去第一行可以看到我们要引入的模式名的clike,在我们vue项目的node_modules文件夹的codemirror中mode文件夹里可以看到所有的模式,我们可以找到clike

引入他,还是在setting.js中(如果已经引入,就不需要重复引入了,这里为了理解过程完整)

import 'codemirror/mode/clike/clike.js'

然后,我们去找刚刚页面最低端的MIME

 于是,就可以修改配置参数中模式为对应的:

mode: 'text/x-c++src'

写一些c++代码试试:

 2.html模式:

点进去之后, 拉到最底下

因此,我们要除了要引入htmlmixed,之前还需引入xml:在setting.js文件中写就行,(如果已经引入,就不需要重复引入了,这里为了理解过程完整)

import 'codemirror/mode/xml/xml.js'
import 'codemirror/mode/htmlmixed/htmlmixed.js'

mode:"text/html"

保存后,在编辑器中写一些html代码试试

最后,如果要根据选择的语言,更换模式,先将每一种可选择的语言模式的文件都引入完成,之后,根据选择的选项,动态更换mode就能实现

6.代码括号自动补全

还是在setting.js中引入

import 'codemirror/addon/edit/closebrackets.js'

 然后配置参数:

autoCloseBrackets:true, //自动补全括号

 7.代码只读

 配置参数,将readOnly赋值如下 (此时编辑器无法获得焦点)

readOnly:'nocursor'

这样就将编辑器看做代码展示的一个容器,只读,无法编辑

更多配置参数参考:codeMirror配置 - ccorz - 博客园 (cnblogs.com)

  • 15
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
使用 vue-codemirror 的流程如下: 1. 在 Vue 项目中安装 vue-codemirror 插件。可以通过 npm 或 yarn 进行安装: ``` npm install vue-codemirror --save ``` 或 ``` yarn add vue-codemirror ``` 2. 在 main.js 或者需要使用的组件中导入和注册 vue-codemirror 插件: ```javascript import Vue from 'vue' import VueCodemirror from 'vue-codemirror' import 'codemirror/lib/codemirror.css' // 引入样式文件 import 'codemirror/theme/base16-dark.css' // 可选的主题样式文件,根据需要选择 Vue.use(VueCodemirror) ``` 3. 在需要使用 CodeMirror 的组件中,使用 `<vue-codemirror>` 标签来渲染 CodeMirror 编辑器: ```vue <template> <div> <vue-codemirror v-model="code" :options="editorOptions"></vue-codemirror> </div> </template> <script> export default { data() { return { code: '', editorOptions: { // CodeMirror 的配置选项 mode: 'javascript', // 设置编辑器模式 lineNumbers: true, // 是否显示行号 theme: 'base16-dark', // 设置主题样式 // 其他配置选项根据需要设置 } } } } </script> ``` 4. 可以通过 `v-model` 指令来双向绑定编辑器中的内容,实时获取用户输入的代码。 5. 可以根据需要在 `editorOptions` 中设置 CodeMirror 的配置选项,如编辑器模式、行号显示、主题样式等。 6. 运行 Vue 项目,即可在对应的页面中看到使用vue-codemirrorCodeMirror 编辑器。 以上就是使用 vue-codemirror 的最详细流程。希望对你有帮助!如有更多问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值