ant vue 使用 vue-codemirror代码高亮问题

本文档描述了在Vue项目中使用vue-codemirror和codemirror编辑器时遇到的代码无法高亮显示的问题。通过引入相应的语言模式js文件和调整cmOptions配置,如添加`gutters`和`highlightSelectionMatches`选项,可以实现代码高亮功能。同时,提供了完整的代码示例以供参考。
摘要由CSDN通过智能技术生成

版本信息:

vue版本:2.x

vue-codemirror版本:4.x

codemirror版本:5.x


问题描述

codemirror编辑器内的代码不能高亮

代码示例:


<template>
    <div id="glueInfo">
        <codemirror style="height:100%" v-model="codeSnippets" :options="cmOptions"/>
    </div>
</template>
<script>
import {codemirror} from 'vue-codemirror';
import 'codemirror/lib/codemirror.css'; // 核心样式
import 'codemirror/mode/htmlmixed/htmlmixed.js';
export default {
    name: 'glueInfo',
    components: {codemirror},
    computed: {},
    data() {
        return {
            codeSnippets: '<div>code</div>',
	        cmOptions: {
	            autorefresh: true,
		        mode: 'text/x-html',// 语言类型
		        theme: 'default',// 样式
		        lineNumbers: true,// 编辑器左侧是否显示行号
                line: true,
                showCursorWhenSelecting: true,// 选择内容的时候是否显示光标
		        firstLineNumber: 1,
		        viewportMargin: Infinity, // 处理高度自适应时搭配使用
		        autofocus: false,
		        indentUnit: 4,// 编辑器中缩进的大小
		        smartIndent: true,// 是否使用mode提供的上下文的缩进
		        readOnly: false, // 只读
                styleActiveLine:true,
                matchBrackets: true,// 括号匹配
                autoCloseBrackets:true, //自动补全括号
	        },
        }
    },
}
</script>


解决办法:在 cmOptions 中加入如下配置,并把对应代码的高亮 js引入进去

gutters: ["CodeMirror-lint-markers","CodeMirror-linenumbers","CodeMirror-foldgutter"],
highlightSelectionMatches: {
   minChars: 2,
   style: "matchhighlight",
   showToken: true
},

​​​​​​​

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值