Mover y desvanecer líneas de código; problemas con el Editor XML de Eclipse

A veces, mi código se mueve solo o simplemente desaparece en el editor XML de Eclipse.

¡Ay!

Cuando destaco el código afectado, las líneas resaltadas intentan corregirse a sí mismas. Pero cuando me desplazo o arrastro el mouse en la dirección opuesta, el código cambia de nuevo. En esencia, tendré líneas de código repetidas, perdidas y discontinuas que se mostrarán desde un archivo libre de errores. Los archivos afectados se comstackn y si los cierro / vuelvo a abrir, este problema desaparece, por el momento. ¿Alguna idea de lo que está pasando?


Además: Jeff Axelrod proporcionó un enlace a un nuevo informe de fallas con Google.

Este error (finalmente) se corrigió en ADT 21. La solución ahora está disponible en ADT 21 Vista previa 9, publicada hace unos minutos, aquí: https://android-review.googlesource.com/#/c/44936/1

La razón por la que obtienes artefactos visuales raros es que si un archivo contiene terminaciones de línea de DOS rotas (múltiples retornos de carro sin una nueva línea para cada retorno de carro), Eclipse se confunde mucho. Ese es el problema de Eclipse https://bugs.eclipse.org/bugs/show_bug.cgi?id=375421 .

La corrección tiene dos partes: (1) Primero, se corrigió ADT de manera que ya no introduce estas secuencias \ r \ r en el documento. Esto garantiza que no obtenga nuevos documentos lo que desencadena el comportamiento de edición extraño, pero no arregla retroactivamente los documentos anteriores con estos finales de línea, por lo que si los abre, aún obtendrá un comportamiento de edición extraño.

(2) Segundo, hay una nueva verificación de pelusa que busca terminaciones de línea discontinua en los documentos. Esto se ejecuta de forma incremental, por lo que si edita un archivo XML que tiene este problema, ADT agregará un marcador de error para este problema, junto con una corrección rápida para realizar una operación en el documento para solucionarlo.

En resumen: obtenga ADT 21 Preview 9; ejecute Lint en sus proyectos y busque cualquier queja sobre archivos que contengan terminaciones de línea interrumpidas, y si encuentra alguno, aplique la corrección rápida. A partir de ahora, las ediciones posteriores con el editor de diseño deben mantener los archivos formateados consistentemente.

FYI, la solución relevante está aquí: https://android-review.googlesource.com/#/c/44936/

Las instrucciones para actualizar fácilmente SDK Tools y el plugin Eclipse ADT están aquí: http://tools.android.com/preview-channel

– Tor (del equipo de herramientas de Android)

Después de algunas pruebas, he encontrado que la opción “Formatear automáticamente el XML editado por el editor de diseño visual” (en Preferencias | Android | Editores) podría ser el culpable aquí.

Con mis pruebas, he encontrado que cambiar una propiedad (como layout_gravity) en el modo de diseño de diseño gráfico siempre daña la visualización del archivo cuando regreso al modo XML (texto) cuando esta opción está activada pero que no tengo ningún problema cuando está apagado.

Si desea formatear el XML a su regreso del modo de diseño de diseño gráfico, simplemente use el atajo Ctrl + Shift + F. Además, no vi ningún problema con el uso de la opción “Formato al guardar”; incluso cuando lo uso en el modo Diseño gráfico; para que pueda usar Ctrl + S en su lugar mientras se encuentra todavía en el modo de Diseño gráfico para guardar y formatear su XML.

He probado otras opciones de editores como “Mostrar indicador de rango” o “Usar caracteres para mostrar los cambios en la regla vertical”, pero no vi ninguna diferencia en el comportamiento al activar o desactivar estas opciones.

Finalmente, para corregir la visualización del archivo cuando está dañado; Descubrí que usar el atajo: Ctrl + A , Ctrl + C , Ctrl + V es un poco más fácil que cerrar / volver a abrir el archivo. Esto es equivalente a hacer un Seleccionar todo, Copiar, Pegar; efectivamente copiando todo el archivo XML sobre sí mismo.

Todavía experimenta este error en Juno (Eclipse 4.2.0, ADT r20).

Mi solución: ve a Ventana -> Preferencias -> Android -> Editores. Tengo ambos “Formato XML usando el estándar Android XML …” y “Usar configuraciones de Eclipse para sangría …” marcadas. Esto resolvió mi problema.

EDITAR: contiene un método más rápido, por lo que fue llevado a la cima:

Ctrl + F -> llenar así:

  1. “Buscar” “\ r \ r \ n”
  2. “Reemplazar” “\ r \ n”
  3. Cambie “Expresión regular” a ON
  4. presione el botón “Reemplazar todo”
  5. Ctrl + A
  6. anular la selección de texto.
  7. ser feliz =)

Original estaba aquí: simplemente no ocultes ese problema, si puedes arreglarlo. Algunas veces incluso cerrar el archivo XML no ayudó.

Para solucionarlo, veamos el motivo. Antes que nada, encienda ” Mostrar caracteres en espacios en blanco ” ( Ventana> Preferencias> General> Editores> Editores de texto> Mostrar caracteres en espacios en blanco )

Luego regrese a su archivo XML.

enter image description here

En una imagen escalada, puede ver la diferencia de los colores “\ n” -symbol;

entonces simplemente coloque el cursor sobre ese símbolo, que es más oscuro.
enter image description here

mira, dos líneas fueron seleccionadas 0o … ¡esa puede ser la razón!

así que simplemente elimínelo y presione el botón “Enter” o “Return” para agregar el símbolo “\ n”. enter image description here
Espero que te ayude


también puedes encontrar el otro símbolo de endline:
enter image description here

¡Solo elimínelo también, y su XML tendrá un gran aspecto!

PD, lo siento por los hipervínculos, soy novato y en SO no puedo subir imágenes o más de 2 enlaces. así que espero que entiendas el punto sin imágenes adicionales;)

PPS Thx para chico que vota, ahora puedo proporcionar esto con imágenes.

Tuve la misma dificultad y finalmente encontré la solución: haga clic con el botón derecho en el editor, seleccione Source/Cleanup Document .

Tuve el mismo problema. Los siguientes pasos fueron la solución. Enlace sugiere que funcionó para otros.

  1. Ve a Preferencias -> teclas
  2. Desvincular copiar, pegar y cortar (presionar “aplicar”, luego “aceptar”)
  3. repita el paso 1
  4. Restaure los comandos de liberación desde el paso 2 (No restaure el corte, pero estoy seguro de que estaría bien)

Observe que hay 2 enlaces para cada uno de los 3 comandos

  1. Desvincular la función secundaria para copiar y pegar (deje ctl + c / ctl + v [copiar / pegar] encuadernado)

En este punto, solo debe tener 2 enlaces configurados para realizar copiar / pegar (es decir, ctl + c / ctl + v)

  1. Presione aplicar -> Aceptar

Esta solución fue encontrada aquí .

Cuando aparece este error con las nuevas versiones de ADT (que son obligatorias para la reparación y donde el error no debería aparecer a menudo) simplemente use la herramienta de Lint para solucionarlo.

Encuéntrelo en advertencias de Pelusa y haga clic en el ícono de la bombilla amarilla en la esquina superior derecha de la lista de advertencias de Pelusa.

Espero que ayude a alguien