Manchmal bewegt sich mein Code von selbst oder verschwindet einfach im Eclipse XML-Editor.
Wenn ich den betroffenen Code hervorhole, versuchen die hervorgehobenen Zeilen, sich selbst zu korrigieren. Aber wenn ich mit der Maus in die entgegengesetzte Richtung scrolle oder ziehe, verschiebt sich der Code erneut. Im Wesentlichen werden sich wiederholende, fehlende und unterbrochene Codezeilen aus einer ansonsten fehlerfreien Datei angezeigt. Die Dateien betroffen tun Kompilierung und wenn ich in der Nähe / Wieder öffnen sie dieses Problem weggeht, für den Moment. Irgendwelche Ideen, was passiert?
Ergänzung: Jeff Axelrod hat einen Link zu einem neuen Fehlerbericht bei Google bereitgestellt .
Antworten:
Dieser Fehler wurde (endlich) in ADT 21 behoben. Der Fix ist jetzt in ADT 21 Preview 9 verfügbar, das vor einigen Minuten hier veröffentlicht wurde: https://android-review.googlesource.com/#/c/44936/1
Der Grund, warum Sie seltsame visuelle Artefakte erhalten, ist, dass Eclipse sehr verwirrt ist, wenn eine Datei fehlerhafte DOS-Zeilenenden enthält (mehrere Zeilenumbrüche ohne Zeilenumbruch für jeden Zeilenumbruch). Das ist das Eclipse-Problem https://bugs.eclipse.org/bugs/show_bug.cgi?id=375421 .
Das Update besteht aus zwei Teilen: (1) Erstens wurde ADT so korrigiert, dass diese \ r \ r-Sequenzen nicht mehr in das Dokument eingefügt werden. Dies stellt sicher, dass Sie keine neuen Dokumente erhalten, was das seltsame Bearbeitungsverhalten auslöst, ältere Dokumente mit diesen Zeilenenden jedoch nicht rückwirkend repariert werden. Wenn Sie sie also öffnen, erhalten Sie immer noch ein seltsames Bearbeitungsverhalten.
(2) Zweitens gibt es eine neue Flusenprüfung, die nach unterbrochenen Linienenden in Dokumenten sucht. Dies wird inkrementell ausgeführt. Wenn Sie also eine XML-Datei mit diesem Problem bearbeiten, fügt ADT eine Fehlermarkierung für dieses Problem hinzu - zusammen mit einem Quickfix, mit dem das Dokument operiert werden kann, um es zu beheben.
Kurz gesagt: Holen Sie sich ADT 21 Preview 9; Führen Sie Lint für Ihre Projekte aus und suchen Sie nach Beschwerden über Dateien mit unterbrochenen Zeilenenden. Wenn dies der Fall ist, wenden Sie den Quickfix an. Von nun an sollten weitere Änderungen mit dem Layout-Editor die Dateien konsistent formatieren.
Zu Ihrer Information, der relevante Fix ist hier: https://android-review.googlesource.com/#/c/44936/
Anweisungen zum einfachen Aktualisieren der SDK-Tools und des Eclipse ADT-Plugins finden Sie hier: http://tools.android.com/preview-channel
- Tor (vom Android Tools Team)
quelle
Nach einigen Tests habe ich festgestellt, dass die Option "Vom visuellen Layout-Editor bearbeitetes XML automatisch formatieren" (in Einstellungen | Android | Editoren) hier möglicherweise die Ursache ist.
Bei meinen Tests habe ich festgestellt, dass das Ändern einer Eigenschaft (z. B. layout_gravity) im Grafiklayout-Entwurfsmodus die visuelle Anzeige der Datei immer beeinträchtigt, wenn ich in den XML-Modus (Textmodus) zurückkehre, wenn diese Option aktiviert ist dass ich kein Problem habe, wenn es aus ist.
Wenn Sie das XML nach Ihrer Rückkehr aus dem Entwurfsmodus für das grafische Layout formatieren möchten, verwenden Sie einfach die Verknüpfung Ctrl+ Shift+ F. Außerdem habe ich kein Problem mit der Option "Beim Speichern formatieren" festgestellt. selbst wenn ich es im grafischen Layoutmodus verwende; Sie können also stattdessen Ctrl+ Sverwenden, während Sie sich noch im grafischen Layoutmodus befinden, um Ihr XML zu speichern und zu formatieren.
Ich habe andere Editoroptionen wie "Bereichsanzeige anzeigen" oder "Zeichen zum Anzeigen von Änderungen im vertikalen Lineal verwenden" ausprobiert, aber beim Aktivieren oder Deaktivieren dieser Optionen konnte ich keinen Unterschied im Verhalten feststellen.
Schließlich, um die visuelle Anzeige der Datei zu korrigieren, wenn sie beschädigt ist; Ich fand, dass die Verwendung der Verknüpfung: Ctrl+ A, Ctrl+ C, Ctrl+ Vetwas einfacher ist als das Schließen / erneute Öffnen der Datei. Dies entspricht dem Auswählen, Kopieren und Einfügen. Kopieren Sie effektiv die gesamte XML-Datei über sich selbst.
quelle
Dieser Fehler tritt immer noch bei Juno auf (Eclipse 4.2.0, ADT r20).
Mein Fix: Gehen Sie zu Fenster -> Einstellungen -> Android -> Editoren. Ich habe sowohl "XML mit dem Standard-Android-XML formatieren ..." als auch "Eclipse-Einstellungen für Einrückung verwenden ..." aktiviert. Dies löste das Problem für mich.
quelle
>
) und einer eigenständigen Klammer (/>
), um zu bestimmen, ob ein Leerzeichen vorangestellt werden soll (die Option ist auf beide oder keine beschränkt). Scheint ein triviales Problem zu sein, aber aus irgendeinem Grund finde ich es sehr irritierend.EDIT: Enthält eine schnellere Methode, also wurde sie nach oben gebracht:
Ctrl+ F -> so füllen:
Das Original war hier: Verstecken Sie dieses Problem nur nicht, wenn Sie es beheben können. Manchmal half es sogar nicht, die XML-Datei zu schließen.
Um das Problem zu beheben, schauen wir uns den Grund dafür an. Aktivieren Sie zunächst " Leerzeichen anzeigen" ( Fenster> Einstellungen> Allgemein> Editoren> Texteditoren> Leerzeichen anzeigen ).
Dann zurück zu deiner XML-Datei.
Im skalierten Bild sehen Sie möglicherweise den Unterschied der "\ n" -Symbolfarben.
Setzen Sie dann einfach den Cursor auf das Symbol, das dunkler ist.
schau, zwei Zeilen wurden ausgewählt 0o ... das kann der Grund sein!
Löschen Sie es einfach und drücken Sie die Eingabetaste oder die Eingabetaste, um das Symbol "\ n" hinzuzufügen.
Hoffe es hilft dir.
Sie können auch das andere Symbol der Endlinie finden:
Löschen Sie es einfach auch und Ihr XML wird ein tolles Aussehen haben!
PS Entschuldigung für Hyperlinks, ich bin Neuling und auf SO kann ich kein Bild oder mehr als 2 Links hochladen. also hoffe du bekommst den Punkt ohne zusätzliche Bilder;)
PPS Danke an den Kerl, der abstimmt, jetzt kann ich dies mit Bildern versehen.
quelle
Ich hatte die gleichen Schwierigkeiten und fand schließlich die Lösung: Klicken Sie mit der rechten Maustaste in den Editor und wählen Sie
Source/Cleanup Document
.quelle
Ich hatte das gleiche Problem. Die folgenden Schritte waren die Lösung. Link schlägt vor, dass es für andere funktioniert.
Beachten Sie, dass für jeden der drei Befehle zwei Bindungen vorhanden sind
Zu diesem Zeitpunkt sollten nur 2 Bindungen zum Kopieren / Einfügen festgelegt sein (dh ctl + c / ctl + v).
Diese Lösung wurde hier gefunden .
quelle
Wenn dieser Fehler bei neuen Versionen von ADT auftritt (die zur Behebung obligatorisch sind und bei denen der Fehler nicht häufig auftreten sollte), verwenden Sie einfach das Lint-Tool, um ihn zu beheben.
Suchen Sie es in den Flusenwarnungen und klicken Sie auf das gelbe Lampensymbol in der oberen rechten Ecke dieser Liste der Flusenwarnungen.
Hoffe es wird jemandem helfen
quelle