如何用Ace突出显示多行?

ale*_*lex 5 javascript syntax-highlighting cloud9-ide ace-editor

这里类似问题中提到的旧方法如下:

var editor = ace.edit("editor");
var Range = ace.require('ace/range').Range;
editor.setReadOnly(true);
editor.setTheme("ace/theme/github");
editor.getSession().setMode("ace/mode/javascript");
editor.getSession().addMarker(new Range(1, 0, 15, 0), "ace_active_line", "background");
Run Code Online (Sandbox Code Playgroud)

不幸的是它不起作用,你可以在这里看到:

http://jsbin.com/acotuv/1/edit

有什么建议?

a u*_*ser 16

似乎addMarker功能的签名被改变了

var Range = ace.require('ace/range').Range // get reference to ace/range
...
editor.session.addMarker(
    new Range(1, 0, 15, 0), "ace_active-line", "fullLine"
 );`
Run Code Online (Sandbox Code Playgroud)

工作正常,请参阅http://jsbin.com/acotuv/3/edit

  • 注意`var Range = ace.require('ace/range').代码中的Range`是必要的 - 花了一些时间才发现. (2认同)