首页 > 解决方案 > 如何计算摩纳哥差异编辑器中更改的行数?

问题描述

我想计算摩纳哥差异编辑器中更改的行数。在“Github”中的样子,可以看到添加或删除了多少行。例如,在Navigating a Diff playground中,我想显示删除了 2 行,添加了 2 行。

标签: javascriptreactjsdiffmonaco-editor

解决方案


您将需要访问该IDiffEditor功能getLineChanges

// It will get all the changes including adds/removals and modified
diffEditor.getLineChanges(); 

结果将是一个数组ILineChange

[{
    charChanges: undefined
    modifiedEndLineNumber: 0
    modifiedStartLineNumber: 1
    originalEndLineNumber: 2
    originalStartLineNumber: 2
}, [{
    modifiedEndColumn: 5
    modifiedEndLineNumber: 7
    modifiedStartColumn: 1
    modifiedStartLineNumber: 7
    originalEndColumn: 0
    originalEndLineNumber: 0
    originalStartColumn: 0
    originalStartLineNumber: 0
}]]

然后,您将需要遍历它们以获取它们分析数组和子对象的简历。


推荐阅读