到目前为止,我已经找到了getLine()
和getAllLines()
方法,但它们返回指定行的字符串内容。
let line = this.editor.session.getLine(30);
let lines = this.editor.session.doc.getAllLines()
如何请求某一行的 dom 元素?我想突出显示一组线条,但我想避免创建selectionRange
因为我希望选择范围可以免费用于其他内容。
selectionRange = editor.getSelectionRange();
startLine = selectionRange.start.row;
endLine = selectionRange.end.row;
content = editor.session.getTextRange(selectionRange);
我会应用一个更改背景颜色的 css 类。不幸的是,没有<div class="ace_line_group"
的id类可以为此目的劫持。我也想避免任何循环所有行的混乱正则表达式,直到找到我正在寻找的行。
嗯...幸运的是,经过更多的谷歌搜索,我找到了答案。它也与 webpack 配合得很好。
var ace = require('brace');
var Range = ace.acequire('ace/range').Range;
editor.session.addMarker(
new Range(1, 0, 15, 0), "ace_active-line", "fullLine", true
);
但是,我仍然需要一种方法来获取该 dom 引用,以便在该区域上浮动工具提示。