Czasami mój kod porusza się sam lub po prostu znika w edytorze XML Eclipse.
Kiedy podświetlam kod, którego dotyczy problem, podświetlone linie próbują się poprawić. Ale kiedy przewijam lub przeciągam mysz w przeciwnym kierunku, kod znowu się przesuwa. Zasadniczo będę miał powtarzające się, brakujące i przerywane wiersze kodu wyświetlane z pliku wolnego od błędów. Pliki, których to dotyczy , kompilują się i jeśli je zamknę / ponownie otworzę, problem na chwilę zniknie. Jakieś pomysły na to, co się dzieje?
Dodatek: Jeff Axelrod podał link do nowego zgłoszenia błędu w Google.
Odpowiedzi:
Ten błąd został (ostatecznie) naprawiony w ADT 21. Poprawka jest teraz dostępna w ADT 21 Preview 9, opublikowana kilka minut temu, tutaj: https://android-review.googlesource.com/#/c/44936/1
Powodem, dla którego otrzymujesz dziwne wizualne artefakty, jest to, że jeśli plik zawiera zepsute zakończenia linii DOS (wiele powrotów karetki bez nowej linii dla każdego powrotu karetki), Eclipse jest bardzo zdezorientowany. To jest problem Eclipse https://bugs.eclipse.org/bugs/show_bug.cgi?id=375421 .
Poprawka składa się z dwóch części: (1) Po pierwsze, poprawiono narzędzie ADT w taki sposób, że nie wprowadza już tych sekwencji \ r \ r do dokumentu. Daje to pewność, że nie otrzymasz nowych dokumentów, które wyzwalają dziwne zachowanie podczas edycji, ale nie naprawia wstecz starszych dokumentów z tymi zakończeniami linii, więc jeśli je otworzysz, nadal otrzymasz dziwne zachowanie podczas edycji.
(2) Po drugie, dostępna jest nowa funkcja sprawdzania kłaczków, która wyszukuje zakończenia przerywanych linii w dokumentach. Działa to przyrostowo, więc jeśli edytujesz plik XML, w którym występuje ten problem, narzędzie ADT doda znacznik błędu dla tego problemu - wraz z szybką poprawką umożliwiającą wykonanie operacji na dokumencie, aby go naprawić.
W skrócie: pobierz ADT 21 Preview 9; uruchom Lint na swoich projektach i poszukaj wszelkich skarg dotyczących plików zawierających przerwane zakończenia linii, a jeśli jakieś znajdzie, zastosuj quickfix. Odtąd dalsze edycje za pomocą edytora układu powinny zapewniać spójne formatowanie plików.
FYI, odpowiednia poprawka jest tutaj: https://android-review.googlesource.com/#/c/44936/
Instrukcje dotyczące łatwej aktualizacji narzędzi SDK i wtyczki Eclipse ADT są dostępne tutaj: http://tools.android.com/preview-channel
- Tor (od zespołu narzędzi Android)
źródło
Po kilku testach stwierdziłem, że przyczyną może być opcja „Automatycznie sformatuj XML edytowany przez wizualny edytor układu” (w Preferencjach | Android | Edytorzy).
Podczas moich testów odkryłem, że zmiana właściwości (takiej jak layout_gravity) w trybie projektowania graficznego układu zawsze psuje wizualne wyświetlanie pliku, gdy wracam do trybu XML (tekst), gdy ta opcja jest włączona, ale że nie mam problemu, gdy jest wyłączony.
Jeśli chcesz sformatować XML po powrocie z trybu projektowania układu graficznego, po prostu użyj skrótu Ctrl+ Shift+ F. Nie widziałem też żadnego problemu z użyciem opcji „Formatuj przy zapisie”; nawet gdy używam go w trybie układu graficznego; więc zamiast tego możesz użyć Ctrl+, Sgdy jesteś nadal w trybie układu graficznego, aby zarówno zapisać, jak i sformatować swój XML.
Wypróbowałem inne opcje edytorów, takie jak „Pokaż wskaźnik zakresu” lub „Użyj znaków, aby pokazać zmiany na linijce pionowej”, ale nie zauważyłem żadnej różnicy w zachowaniu przy aktywowaniu lub dezaktywowaniu tych opcji.
Wreszcie, aby poprawić wizualne wyświetlanie pliku, gdy jest uszkodzony; Zauważyłem, że użycie skrótu: Ctrl+ A, Ctrl+ C, Ctrl+ Vjest trochę łatwiejsze niż zamknięcie / ponowne otwarcie pliku. Jest to równoważne wykonaniu polecenia Wybierz wszystko, Kopiuj, Wklej; efektywne kopiowanie całego pliku XML na siebie.
źródło
Nadal występuje ten błąd w Juno (Eclipse 4.2.0, ADT r20).
Moja poprawka: Idź do Okno -> Preferencje -> Android -> Redaktorzy. Mam zaznaczone opcje „Format XML przy użyciu standardowego XML systemu Android…” i „Użyj ustawień Eclipse do wcięcia…” . To rozwiązało problem.
źródło
>
) i nawiasem zamykającym standalone-tag (/>
) w celu określenia, czy poprzedzić spacją (opcja jest ograniczona do obu, czy nie). Wydaje się, że to trywialny problem, ale z jakiegoś powodu uważam to za bardzo irytujące.EDYCJA: zawiera szybszą metodę, więc została przeniesiona na górę:
Ctrl+ F -> wypełnij w ten sposób:
Oryginał był tutaj: po prostu nie ukrywaj tego problemu, jeśli możesz go naprawić. Czasami nawet zamknięcie pliku XML nie pomagało.
Aby to naprawić, spójrzmy na przyczynę. Przede wszystkim Włącz „Pokaż znaki odstępu” ( Okno> Preferencje> Ogólne> Edytory> Edytory tekstu> Pokaż białe znaki )
Następnie wróć do pliku XML.
Na przeskalowanym obrazie możesz zobaczyć różnicę kolorów symboli "\ n";
następnie po prostu umieść kursor na tym symbolu, który jest bardziej ciemny.
spójrz, wybrano dwie linie 0o ... to może być powód!
więc po prostu usuń go i naciśnij przycisk „Enter” lub „Return”, aby dodać symbol „\ n”.
Mam nadzieję, że ci to pomoże.
możesz też znaleźć inny symbol końca:
Po prostu go usuń, a Twój XML będzie wyglądał świetnie!
PS przepraszam za hiperłącza, jestem nowicjuszem i na SO nie mogę przesłać obrazu ani więcej niż 2 linki. więc mam nadzieję, że zrozumiesz bez dodatkowych zdjęć;)
PPS Dzięki dla gościa, który zagłosował, teraz mogę dostarczyć to ze zdjęciami.
źródło
Miałem tę samą trudność iw końcu znalazłem rozwiązanie: kliknij prawym przyciskiem myszy w edytorze, wybierz
Source/Cleanup Document
.źródło
Miałem ten sam problem. Rozwiązaniem były następujące kroki. Link sugeruje, że to działa dla innych.
Zauważ, że istnieją 2 wiązania dla każdego z 3 poleceń
W tym momencie powinieneś mieć tylko 2 wiązania ustawione do wykonywania kopiowania / wklejania (tj. Ctl + c / ctl + v)
To rozwiązanie zostało znalezione tutaj .
źródło
Kiedy ten błąd pojawia się w nowych wersjach ADT (które są obowiązkowe do naprawy i nie powinny pojawiać się często), po prostu użyj narzędzia Lint, aby go naprawić.
Znajdź go w ostrzeżeniach Lint i kliknij żółtą ikonę żarówki w prawym górnym rogu tej listy ostrzeżeń Lint.
Mam nadzieję, że to komuś pomoże
źródło