我正在CodeMirror中显示一些文本。 要求是: 对于某些行,我想跳过行号。 例如,我想这样显示:
1 xxxxxx
yyyyyy
2 zzzzzz
但事实是:
1 xxxxxx
2 yyyyyy
3 zzzzzz
如何达到上述效果?
我试图用setGutterMarker编写一些代码,但问题是我实际上可以隐藏行号,但实际上不能跳过该行。
addStyleToText() {
const {
editor: { doc }
} = this.customTA;
for (let i = 0; i < doc.lineCount(); i += 1) {
if (doc.getLine(i).substr(0, 3) === 'ERR') {
doc.addLineClass(i, 'background', 'error-info-line');
doc.setGutterMarker(i, 'CodeMirror-linenumbers', this.makeMarker());
}
}
}
makeMarker() {
var marker = document.createElement("div");
marker.class="CodeMirror-linenumber CodeMirror-gutter-elt";
marker.style.left = "0px";
marker.style.width = "21px";
marker.text = "";
return marker;
}
我希望ERR行不是代码的一部分。我不想在行号中计数。
答案 0 :(得分:0)
代替使用i,在for循环之前设置一个计数器变量。然后,仅在需要时递增该计数器。