【问题标题】:How can I highlight multiple lines with Ace?如何使用 Ace 突出显示多行?
【发布时间】:2013-04-15 21:08:25
【问题描述】:

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

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");

不幸的是,它不起作用,您可以在此处看到:

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

有什么建议吗?

【问题讨论】:

  • 给任何想知道的人的一个小提示。显然,在早期版本中,“ace_active_line”已更改为“ace_active-line”。

标签: javascript syntax-highlighting cloud9-ide ace-editor


【解决方案1】:

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"
 );`

工作正常,见http://jsbin.com/acotuv/3/edit

【讨论】:

  • 请注意,代码中的 var Range = ace.require('ace/range').Range 是必需的 - 我花了一段时间才找到。
  • 如果您将 ace 与 webpack 一起使用,则可以这样做var ace = require('brace'); var Range = ace.acequire('ace/range').Range;
  • @a user 这在哪里记录?在这里ace.c9.io/#nav=api&api=edit_session addMarker 需要四个必需的参数。
猜你喜欢
  • 2013-12-03
  • 2012-02-08
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
相关资源
最近更新 更多