協調編集でAceを使用していますが、別のユーザーのカーソル位置までスクロールできるようにしたいと考えています。
editor.scrollToRow()
とeditor.scrollToLine()
メソッドがあるようですが、 position
を持つcursor
オブジェクトで機能するメソッドが見つからないようです。およびselectionEnd
プロパティ。
私が欲しいのは、行だけでなく、ある位置までスクロールできるようにすることです。 または、位置を線に変換する方法がある場合も役立ちます。
ありがとう!
Positionは{row、column}のようなオブジェクトなので、position.rowを使用すると簡単に行を取得できます。
使用することもできます
editor.renderer.scrollCursorIntoView({row: 50, column: 1}, 0.5)
(0.5は画面の中央に線を配置し、下に1を使用し、上に0を使用します)
位置がキャラクターの位置だけである古いバージョンを使用していると思いますが、アップグレードできると便利です。
そのコードは最初からあまり変わっていませんでした。
値文字列に文字インデックスがある場合、 editor.session.doc.indexToPosition(index)
は{row, column}
を取得するのに役立ちますが、これは比較的遅い関数です。
返信ありがとうございます! あなたはエースカーソルAPIについて正しいです。 私は今、Firepadプラグインが何か奇妙なことをしていることに関係していると思うので、エース側には何の問題もありません。
最も参考になるコメント
Positionは{row、column}のようなオブジェクトなので、position.rowを使用すると簡単に行を取得できます。
使用することもできます
editor.renderer.scrollCursorIntoView({row: 50, column: 1}, 0.5)
(0.5は画面の中央に線を配置し、下に1を使用し、上に0を使用します)