Ace: ¿Cómo desplazo el editor a una posición, no solo a una línea?

Creado en 30 oct. 2015  ·  4Comentarios  ·  Fuente: ajaxorg/ace

Estoy usando Ace para una experiencia de edición colaborativa y quiero poder desplazarme a la posición del cursor de otro usuario.

Veo que hay métodos editor.scrollToRow() y editor.scrollToLine() , pero parece que no puedo encontrar ningún método que funcione con un objeto cursor que tenga position y selectionEnd propiedades.

Lo que me gustaría es poder desplazarme a una posición, no solo a una línea. O si hay una forma de convertir una posición en una línea, eso también sería útil.

¡Gracias!

Comentario más útil

La posición es un objeto como {fila, columna} por lo que obtener una línea a partir de él es fácil usando position.row.
También puedes usar
editor.renderer.scrollCursorIntoView({row: 50, column: 1}, 0.5) (0.5 centra la línea en la pantalla, use 1 para abajo 0 para arriba)

Todos 4 comentarios

La posición es un objeto como {fila, columna} por lo que obtener una línea a partir de él es fácil usando position.row.
También puedes usar
editor.renderer.scrollCursorIntoView({row: 50, column: 1}, 0.5) (0.5 centra la línea en la pantalla, use 1 para abajo 0 para arriba)

Supongo que estoy en una versión anterior donde la posición es solo la posición del personaje, pero será bueno cuando pueda actualizar.

Debe ser algo más, ese código no cambió mucho desde el principio.
Si tiene un índice de caracteres en la cadena de valor, editor.session.doc.indexToPosition(index) puede ayudarlo a obtener {row, column} pero esa es una función relativamente lenta.

¡Gracias por la respuesta! Tienes razón sobre la API de cursor Ace. Ahora creo que tiene que ver con que mi complemento de Firepad hace algo más extraño con él, por lo que no hay nada de malo en el lado Ace.

¿Fue útil esta página
0 / 5 - 0 calificaciones