Ace Scroll Sync with Preview:获取包裹线条的线条高度

时间:2015-06-24 10:28:45

标签: javascript ace-editor

我有一个Markdown编辑器,旁边是Markdown预览版。我正在尝试添加滚动同步功能,如此演示:

https://markdown-it.github.io/

但据作者说:

  

演示中的现有解决方案是一个肮脏的黑客,可能在textarea内容的高度计算中有不同的错误。如果您需要保证结果,最好使用codemirror / ace而不是textarea。它们提供更好的线偏移。

我没有在任何地方找到类似的插件,所以我开始重新创建同步算法。我偶然发现的问题是,要使算法正常工作,您需要在编辑器中确切的线条高度。当线条被软包裹时,这很棘手。

所以问题是如何在Ace中确定特定线的线高?

1 个答案:

答案 0 :(得分:0)

如果您有cursor = {row, column},可以使用editor.renderer.scrollCursorIntoView(cursor)将其滚动到视图中,或editor.renderer.scrollToLine(row)滚动动画。 请注意,要使动画生效,您需要使用editor.setOption("animatedScroll", true)

启用它