CodeMirror(Web组件)

代码编辑器组件(version 5.65.19)

参考:CodeMirror 5 User Manual

一、Configuration选项设置:

//CodeMirror选项设置
codeMirrorOptions:{
value: undefined,               //新内容
origLeft: null,           
orig: undefined,                //旧内容
lineNumbers: true,              //行号
mode: "application/xml",              //代码模式
highlightDifferences: true,     //高亮显示差异部分
collapseIdentical: true,        //折叠
readOnly:true,                  //只读
revertButtons:false,            
},

collapseIdentical:true-默认折叠相同代码行数>2的部分(会剩下相同行数<=2的代码部分)
输入number 折叠相同代码>number的部分 (但输入0不会折叠)

二、实例信息/方法

1.this.codeMirorInstance.right.chunks

获取different chunk(下标从0开始)

chunk中存在四个字段 editFrom/editTo   origFrom/origTo 代表差异开始下标[editFrom,editTo)

2.this.codeMirorInstance.right.edit.doc.getLine[Programming API]

根据下标取代码的内容

//获取差异

//edit
let diffCount = this.codeMirorInstance.right.chunks.length;
for(let i = 0;i<diffCount;i++){
let start  = this.codeMirorInstance.right.chunks[i].editFrom;
let end = this.codeMirorInstance.right.chunks[i].editTo;
for(let j = start ; j< end ; j++){
let context = this.codeMirorInstance.right.edit.doc.getLine(j);
this.diffEdit.push(context)
}
}
console.log(this.diffEdit)
//orig
diffCount = this.codeMirorInstance.right.chunks.length;
for(let i = 0;i<diffCount;i++){
let start  = this.codeMirorInstance.right.chunks[i].origFrom;
let end = this.codeMirorInstance.right.chunks[i].origTo;
for(let j = start ; j< end ; j++){
let context = this.codeMirorInstance.right.orig.doc.getLine(j);
this.diffOri.push(context)
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值