A veces, mi código se mueve por sí solo o simplemente desaparece en el editor XML de Eclipse.
Cuando resalto el código afectado, las líneas resaltadas intentan corregirse. Pero cuando desplazo o arrastro el mouse en la dirección opuesta, el código cambia nuevamente. En esencia, tendré líneas de código repetidas, faltantes y discontinuas que se mostrarán desde un archivo que de otro modo no tendría errores. Los archivos afectados hacen de compilación y si cerrar / abrir de nuevo a 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 error con Google.
Respuestas:
Este error (finalmente) se corrigió en ADT 21. La solución ahora está disponible en ADT 21 Preview 9, publicado hace unos minutos, aquí: https://android-review.googlesource.com/#/c/44936/1
La razón por la que obtiene artefactos visuales extraños es que si un archivo contiene terminaciones de línea 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 solución consta de dos partes: (1) Primero, ADT se corrigió de tal manera que ya no introduce estas secuencias \ r \ r en el documento. Esto asegura que no obtenga documentos nuevos que desencadenan el comportamiento de edición extraño, pero no corrige de forma retroactiva documentos más antiguos con estos finales de línea, por lo que si los abre, seguirá teniendo un comportamiento de edición extraño.
(2) En segundo lugar, hay una nueva comprobación de pelusa que busca las terminaciones de líneas discontinuas 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 cirugía 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 finales de línea discontinua y, si encuentra alguna, aplique la corrección rápida. A partir de ahora, las ediciones posteriores con el editor de diseño deberían mantener los archivos formateados de forma coherente.
FYI, la solución relevante está aquí: https://android-review.googlesource.com/#/c/44936/
Las instrucciones para actualizar fácilmente las herramientas SDK y el complemento Eclipse ADT están aquí: http://tools.android.com/preview-channel
- Tor (del equipo de herramientas de Android)
fuente
Después de algunas pruebas, descubrí que la opción "Formatear automáticamente el XML editado por el editor de diseño visual" (en Preferencias | Android | Editores) podría ser la culpable aquí.
Con mis pruebas, descubrí que cambiar una propiedad (como layout_gravity) mientras estoy en el modo de diseño Graphical Layout siempre estropea la visualización del archivo cuando vuelvo 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 al regresar del modo de diseño 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 "Formatear al guardar"; incluso cuando lo uso en el modo de diseño gráfico; por lo que puede usar Ctrl+ en su Slugar mientras todavía está en el modo de diseño gráfico para guardar y formatear su XML.
Probé otras opciones de editores como "Mostrar indicador de rango" o "Usar caracteres para mostrar 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 visual del archivo cuando está dañado; Descubrí que usar el atajo: Ctrl+ A, Ctrl+ C, Ctrl+ Ves un poco más fácil que cerrar / volver a abrir el archivo. Esto es equivalente a hacer Seleccionar todo, Copiar, Pegar; copiando eficazmente todo el archivo XML sobre sí mismo.
fuente
Sigo experimentando este error en Juno (Eclipse 4.2.0, ADT r20).
Mi solución: vaya a Ventana -> Preferencias -> Android -> Editores. Tengo "Formato XML usando el XML estándar de Android ..." y "Usar configuración de Eclipse para sangría ..." marcada. Esto resolvió mi problema.
fuente
>
) y corchete de cierre de etiqueta independiente (/>
) para determinar si se debe preceder con un espacio (la opción está limitada a ambos o ninguno). Parece un tema trivial, pero por alguna razón lo encuentro muy irritante.EDITAR: contiene un método más rápido, por lo que se llevó a la cima:
Ctrl+ F -> llenar así:
Original estaba aquí: no ocultes ese problema, si puedes solucionarlo. Algunas veces, incluso cerrar el archivo XML no ayudó.
Para solucionarlo, veamos el motivo. En primer lugar, active " Mostrar caracteres de espacio en blanco " ( Ventana> Preferencias> General> Editores> Editores de texto> Mostrar caracteres de espacio en blanco )
Luego, regrese a su archivo XML.
En la imagen escalada, puede ver la diferencia de colores de símbolo "\ n";
luego coloque el cursor en ese símbolo, que es más oscuro.
mira, se seleccionaron dos líneas 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".
Espero que te ayude.
también puede encontrar el otro símbolo de la línea final:
¡Simplemente elimínelo también y su XML tendrá un aspecto excelente!
PD: lo siento por los hipervínculos, soy novato y, por lo tanto, no puedo cargar imágenes o más de 2 enlaces. así que espero que entiendas el punto sin imágenes adicionales;)
PPS Gracias al chico que votó, ahora puedo proporcionar esto con imágenes.
fuente
Tuve la misma dificultad y finalmente encontré la solución: haga clic derecho en el editor, seleccione
Source/Cleanup Document
.fuente
Tuve el mismo problema. Los siguientes pasos fueron la solución. Link sugiere que ha funcionado para otros.
Observe que hay 2 enlaces para cada uno de los 3 comandos
En este punto, solo debe tener 2 enlaces configurados para realizar copiar / pegar (es decir, ctl + c / ctl + v)
Esta solución se encontró aquí .
fuente
Cuando este error aparece con nuevas versiones de ADT (que son obligatorias para la reparación y donde el error no debería aparecer con frecuencia) simplemente use la herramienta Lint para solucionarlo
Encuéntrelo en las advertencias de pelusa y haga clic en la bombilla amarilla en el icono de en la esquina superior derecha de la lista de advertencias de Lint.
Espero que ayude a alguien
fuente