2011-08-10 16 views
39

Program do formatowania zaćmień dodaje wolne miejsce w każdej pustej linii komentarza Javadoc (patrz zrzut ekranu).Formatowanie Eclipse dodaje spację do pustych wierszy komentarza.

enter image description here

Formater kolegi zawsze jest usunięcie tych miejsc (a tym samym wytwarzania irytujące dyferencjału svn). Twierdzi, że używa tych samych ustawień formatyzatora (plik XML). Mimo to wypróbowałem wszystkie opcje na karcie komentarzy na stronie ustawień formatyzatora - bez powodzenia.

Czy to może być różnica między wersjami Eclipse? (Używam Springsource Tool Suite 2.7.1, który bazuje na Helios, jak sądzę)

+0

STS 2.7.1 jest domyślnie oparty na indygo. Helios jest dostępny jako opcja. – Arne

+9

Poszukuję również sposobu, aby powiedzieć Eclipse, aby nie wstawiał spacji w pustych liniach komentarzy. "Usuń końcowe spacje" Save Action usuwa je, ale przy następnym otwarciu pliku program formatujący Eclipse dodaje je z powrotem. To mnie napędza ** CRAZY **! – curd0

+1

Wygląda na to, że narzędzie do usuwania spacji końcowej działa najpierw, a następnie formant Javadoc - duh - tak, to jest bardzo denerwujące. –

Odpowiedz

10

idź do Preferencje -> Java -> Editor -> Zapisz działań i wybierz Format edytowane linie.

Po zastosowaniu zmian wszystkie końcowe spacje w Javadoc zostanie usunięty

Uwaga: „Dodatkowe działania” -> „Usuń zbędne spacje na wszystkich liniach” musi być włączona.

+2

To po prostu sformatowałoby komentarze zgodnie ze stylem formatowania, który domyślnie dodaje spację, więc nie widzę, w jaki sposób to mogłoby pomóc. – Zitrax

+1

Ah Widzę, co masz teraz na myśli, ustawienie "Dodatkowe działania" -> "Usuń końcowe białe znaki na wszystkich liniach" musi być włączone, w przeciwnym razie to nie pomoże. Edytowano odpowiedź, aby tak powiedzieć. – Zitrax

+3

"Usuń końcowe białe znaki na wszystkich liniach" nie działa w przypadku komentarzy blokowych. Przynajmniej dla tych samych ustawień w edytorze JS. –

8

Mam również ten problem i rozwiązałem go, wykonując wyszukiwanie/zamień w Eclipse.

  1. Idź do Szukaj>pliku i mieć pewność wyrażenie regularne jest sprawdzane.
  2. Wprowadź ciąg ^([\s]+\*)([\s]+)$ w polu tekstowym zawierającym tekst.
  3. Ogranicz wyszukiwanie do wzorców imię * .java plików
  4. Naciśnij przycisk Zastąp (nie Search)
  5. Upewnij wyrażenie regularne jest zaznaczona w polu Zamień i używać string $ 1 jako zamiennik. Wymień w razie potrzeby.

Co to jest wyszukiwanie wierszy rozpoczynających się od pustych znaków, które zawierają znak *, a następnie dalsze puste miejsce i brak innych treści. Następnie zastępuje całą linię pierwszą dopasowaną częścią wyrażenia regularnego, która jest tylko początkową spacją i * linii komentarza.

+2

Wyrażenie powinno być '^ ([\ s] + \ *) ([\ s] +) $', co oznacza, że ​​jest napisane w wpisie, ale uzyskało znak ucieczki, a najwyraźniej zmiany muszĘ ... mieć 6 znaków. – orlade

+0

Konieczne wyrażenie regularne: zobacz to rozwiązanie: http://stackoverflow.com/questions/956771/eclipse-cleanup-code-style-for-entire-package-class-set – tozka

8

stwierdziliśmy, że jeśli pójdziesz do Preferences → Java → Editor → Content Assist → Save Actions następująca konfiguracja działa przez większość czasu:

  • ☑ wykonać wybraną działania na zapisać
    • ☐ kodu źródłowego Format
  • ☑ dodatkowe Działania
    • Usuwanie ciągłych białych znaków ze wszystkich linii

(To znaczy, wyłącz opcję Format source code w Save Actions, ale zachować Remove trailing white spaces on all lines w Additional actions w.)

Formater i zapisać działań Duke go, ale zachowaj działania wydaje się wygrać większość czasu. Minusem tego jest konieczność okresowego ręcznego formatowania kodu.

To jest za pomocą Eclipse Juno.

Powiązane problemy