当我向编辑器添加错误注释时,添加新行时它们的位置会自动更新。但是我怎样才能为标记实现相同?Ace编辑器标记更新
我能想到的唯一解决办法是听的变化,存储它们,并应用所有增量来的所有标记。这似乎不是很有效率..
当我向编辑器添加错误注释时,添加新行时它们的位置会自动更新。但是我怎样才能为标记实现相同?Ace编辑器标记更新
我能想到的唯一解决办法是听的变化,存储它们,并应用所有增量来的所有标记。这似乎不是很有效率..
目前将改变监听器唯一的办法。 Cloud9也是如此(请参阅https://github.com/c9/core/blob/4ee99bd/plugins/c9.ide.language.core/marker.js#L201)
当然,如果您要添加多个标记,并且让某种树更好,但渲染器在所有标记上自行编码simply iterates,在将所有标记应用到所有标记变得缓慢之前,它将成为瓶颈,因此如果需要显示大量标记,则应在ace站点上打开一个问题以询问该功能,这似乎是应该是内置,而不是被所有人重新实现。
我也遇到这个问题太,终于找到了一个华丽的演示来解决这个问题:Ace Editor Marker Popovers
这里是关键代码来解决这个问题:
var range = new Range(startRow, startColumn, endRow, endColumn);
var session = editor.getSession();
range.start = session.doc.createAnchor(range.start);
range.end = session.doc.createAnchor(range.end);
var id = session.addMarker(range, 'your_marker_class_name');
感谢您指出我在这个方向,看起来像我在寻找的东西。它也似乎ext.language做了更多的东西,可能对我来说真的很有用。有没有关于如何开始使用它的文档? – 2014-09-30 16:41:43
我认为不是----- – 2014-10-03 11:07:55
您的链接已损坏。 – vqdave 2017-12-22 22:54:24