当前位置: 首页 > 工具软件 > marktext > 使用案例 >

CodeMirror的代码差异比较着色MarkText

夔光霁
2023-12-01
let arrLines = []
 var editor= CodeMirror.fromTextArea(document.getElementById("editor")
 editor.on('inputRead',function(e) {
            arrLines .push(e.doc.getCursor())
      })

   for(let i = 0 ;i < arrLines .length; i++) {
    let line = arrLines[i].line
    let ch = arrLines [i].ch
     editorNew.markText({'line':line - 1, 'ch': ch - 1}, {'line': line, 'ch': ch+1}, {className: "noSameHighlight"})
   }

以上就是代码差异着色。 弄了好久,网上无文档

下面学一学CodeMirror的事件

编译器的事件触发器 常用

  • change
this.CodeMirrorEditor.on("change",function(){
//事件触发后执行事件
alert("change")
});
  • “inputRead”:当用户输入或粘贴时编辑器时触发。
  • this.CodeMirrorEditor.getValue():获取编辑器内容
  var editor = CodeMirror.fromTextArea(document.getElementById("editor")
  editor.getValue()
  • this.CodeMirrorEditor.setValue():设置编辑器内容
  var editor = CodeMirror.fromTextArea(document.getElementById("editor")
  editor.setValue()
  • 获取每次改变的位置
 editor.on('inputRead',function(e) {
    arrLines .push(e.doc.getCursor())
})

想看更多的可以打开CodeMirror的官方文档:https://codemirror.net/

 类似资料: