Ace: 如何将编辑器滚动到一个位置,而不仅仅是一行?

创建于 2015-10-30  ·  4评论  ·  资料来源: ajaxorg/ace

我正在使用 Ace 进行协作编辑体验,并且我希望能够滚动到另一个用户的光标位置。

我看到有editor.scrollToRow()editor.scrollToLine()方法,但我似乎无法找到任何方法与工程cursor有对象positionselectionEnd属性。

我想要的是能够滚动到一个位置,而不仅仅是一行。 或者,如果有一种方法可以将位置转换为一条线也很有帮助。

谢谢!

最有用的评论

位置是一个像 {row, column} 这样的对象,所以使用 position.row 可以很容易地从中获取一条线。
你也可以使用
editor.renderer.scrollCursorIntoView({row: 50, column: 1}, 0.5) (0.5 使屏幕上的线居中使用 1 表示底部 0 表示顶部)

所有4条评论

位置是一个像 {row, column} 这样的对象,所以使用 position.row 可以很容易地从中获取一条线。
你也可以使用
editor.renderer.scrollCursorIntoView({row: 50, column: 1}, 0.5) (0.5 使屏幕上的线居中使用 1 表示底部 0 表示顶部)

我想我使用的是旧版本,其中位置只是角色位置,但是当我可以升级时会很好。

一定是别的东西,那个代码从一开始就没有太大变化。
如果您在值字符串中有字符索引editor.session.doc.indexToPosition(index)可以帮助您获得{row, column}但这是一个相对较慢的函数。

感谢您的回复! 你是对的 Ace 游标 API。 我现在认为这与我的 Firepad 插件做了一些奇怪的事情有关,所以 Ace 方面没有任何问题。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

narraressan picture narraressan  ·  3评论

akosyakov picture akosyakov  ·  3评论

featurecat picture featurecat  ·  4评论

mafar picture mafar  ·  4评论

ketysek picture ketysek  ·  3评论