2015-05-07 27 views
13

Chciałbym użyć zawijania linii po operatorze dla Ciągów i zawijania linii przed operatorem dla innych elementów (liczby, niestandardowe obiekty, ..) w Eclipse dla Javy .Jak używać różnych zawijania linii dla łańcuchów i innych elementów w Eclipse dla Javy

Podczas dodawania liczb z różnymi znakami operatorzy są dla mnie ważniejsi niż liczby. Byłoby miło mieć operatorów z przodu, aby lepiej zapoznać się oświadczenie:

A.

int foo = baaa 
      + veryveryveryloooooongexpression 
      - shortexpression 
      + anotherexpression; 

vs.

B.

int foo = baaa + 
      veryveryveryloooooongexpression - 
      shortexpression + 
      anotherexpression; 

On z drugiej strony, podczas dodawania ciągów, operator jest po prostu używany do kontynuowania linii, a elementy ciągu są bardziej Ważne dla mnie. Operator na końcu linii daje wskazówkę, że coś dzieje się w następnej linii. W związku z tym, że jak to użycie opakowania wiersza po operatora dla struny

B.

String message = "Would you like to use line wrapping at " + position + 
       " ? If you want to keep that behavior press Enter." 

porównaniu

A.

String message = "Would you like to use line wrapping at " + position 
        +" ? If you want to keep that behavior press Enter." 

pokrewne:

(W niektórych przypadkach może to być oczywiście lepiej poprawić kod i użyć jednej linii, aby korzystać string.Format (...) lub użyj Konstruktora String. Nie o to tu chodzi.)

W jaki sposób mogę zastosować różne ustawienia owijania wiersza A. (przed operatorem) i B. (po operatorze) w dwóch różnych przypadkach (pierwszy element to ciąg w stosunku do pierwszego elementu jest czymś jeszcze) w Eclipse? Czy są jakieś ustawienia domyślne, których nie widziałem? Czy istnieje wtyczka Eclipse, która może to zrobić?

(Jeszcze kilka komentarzy:

  • Edit: następujący komentarz jest ważna tylko dla Eclipse 4.4.2 (Luna) i już ustalone w Eclipse 4.5 (Mars):

Nie otrzymałem zawijania po operatorze (B.), aby działał poprawnie podczas zawijania argumentu String w wywołaniu funkcji, nawet jeśli chciałbym zastosować go w obu przypadkach. Włączyłem opcję "Zawijaj przed operatorem" dla Binary wyrażenia d wyłączył opcję ogólną "Nigdy nie dołączaj do już zawijanych linii".Niemniej jednak operator + w poniższym przykładzie pojawia się w następnym wierszu. Złożyłem zgłoszenie błędu pod numerem https://bugs.eclipse.org/bugs/show_bug.cgi?id=466919.

statusBuilder.append("This set is not yet present in the database!\n" 
        + "You can save it by hitting the 'Save' button below.\n"); 

  • Jeśli uderzę zwrotu w środku łańcucha, zaćmienie poprawnie zawija linię przed lub po operatorze, w zależności od ustawienia „wrap przed operatorem” do wyrażenia binarnych.

  • Moduł odstępu kursowego Białe znaki>> Zawijanie operatora nie obsługuje dodatkowych ustawień łączenia ciągów.

)

+0

Ponieważ nie wydaje się, że jest to plugin, napisałem żądanie funkcji: https://bugs.eclipse.org/bugs/show_bug.cgi?id=466920 – Stefan

+0

TBH, wszystkie ręczne formatowanie kodu wykonuję ręcznie . Podczas korzystania z narzędzi jest to kompromis pomiędzy uzyskiwaniem nieoczekiwanych wyników a czasem spędzonym na konfigurowaniu narzędzia. – Nayuki

+0

Zgadzam się, jeśli pracujesz sam. Jestem w trakcie stopniowego wprowadzania ograniczeń w zakresie formatowania i stylu w Eclipse dla naszego zespołu, aby ułatwić udostępnianie bazy kodu i zarządzanie nią. Pomaga także w oczyszczeniu kodu historycznego. Przygotowaliśmy przenośny pakiet Eclipse i poddaliśmy go kontroli wersji. Zaczęliśmy od umowy dotyczącej typowych ustawień ostrzeżeń Eclipse. Następnie wprowadziliśmy findbugs i teraz przygotowuję ustawienia checkstyle, które wytworzą następne 2000 ostrzeżeń. :) Zgadzam się, że dużo pracy wymaga skonfigurowanie tych wtyczek i mam nadzieję, że to się opłaci w dłuższej perspektywie. – Stefan

Odpowiedz

0

Właśnie znalazłem inną opcję: użyj "+ //" na końcu każdej linii:

String message = "Would you like to use line wrapping at " + position + // 
      " ? If you want to keep that behavior press Enter." 
3

użycie ON/OFF, aby wyłączyć znaczniki formatowania kodu Eclipse dla poszczególnych bloków kodu. Zmusza to do samodzielnego sformatowania kodu, ale przynajmniej daje całkowitą kontrolę nad wyglądem kodu.

//@formatter:off 
String message = "Would you like to use line wrapping at " + position + 
       " ? If you want to keep that behavior press Enter." 
//@formatter:on 

ON/OFF funkcje muszą być włączone "ON". W preferencjach Eclipse: Java> Styl kodu> Formatter. Kliknij na przycisk "Edycja", "Off/On Tagi" odhaczyć "Włącz Off/On tagów"