2015-05-07 11 views
13

Vorrei utilizzare il ritorno a capo dopo l'operatore per le stringhe e il ritorno a capo prima dell'operatore per altri elementi (numeri, oggetti personalizzati, ..) in Eclipse per Java .Come utilizzare il diverso ritorno a capo per stringhe e altri elementi in Eclipse per Java

Quando si aggiungono numeri con segni diversi, gli operatori sono più importanti per me dei numeri. Sarebbe bello avere gli operatori al fronte per leggere meglio la dichiarazione:

A.

int foo = baaa 
      + veryveryveryloooooongexpression 
      - shortexpression 
      + anotherexpression; 

vs.

B.

int foo = baaa + 
      veryveryveryloooooongexpression - 
      shortexpression + 
      anotherexpression; 

On D'altra parte, quando si aggiungono le stringhe, l'operatore è appena usato per continuare la linea e gli elementi String sono più importante per me. L'operatore alla fine di una linea dà l'impressione che qualcosa si verifichi nella riga successiva. Perciò vorrei usare la disposizione di riga dopo operator for Strings:

B.

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

vs.

A.

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

Articoli correlati:

(In alcuni casi potrebbe essere naturalmente meglio per migliorare il codice e utilizzare un'unica linea per poter utilizzare String.Format (...) o utilizzare un generatore di stringhe.

Come è possibile applicare diverse impostazioni di ritorno a capo A. (prima dell'operatore) e B. (dopo l'operatore) per i due casi diversi (il primo elemento è una stringa rispetto al primo elemento è qualcosa altro) in Eclipse? Ci sono alcune impostazioni predefinite che non ho visto? Esiste un plugin Eclipse in grado di farlo?

(Pochi altri commenti:

  • Edit: seguente commento è valida solo per Eclipse 4.4.2 (Luna) e già fissato in Eclipse 4.5 (Marte):

Non ho ottenuto il wrapping dopo che l'operatore (B.) ha funzionato correttamente quando ha inserito un argomento String all'interno di una chiamata di funzione, anche se avrei voluto applicarlo per entrambi i casi.Ho abilitato l'opzione "Wrap before operator" per Binary espressioni a d disabilitato l'opzione generale "Non unire mai linee già avvolte".Tuttavia, l'operatore + nell'esempio seguente viene visualizzato nella riga successiva. Ho presentato una segnalazione di bug sotto 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"); 

  • Se mi ha colpito di ritorno nel bel mezzo di una stringa, eclissare correttamente avvolge la linea prima o dopo l'operatore, a seconda dell'impostazione "Wrap prima operator" per le espressioni binarie.

  • Il modulo checkstyle Spazio vuoto => Operatore Wrap non supporta impostazioni aggiuntive per la concatenazione di stringhe.

)

+0

Poiché non sembra esserci un plug-in per questo ho scritto una richiesta di funzionalità: https://bugs.eclipse.org/bugs/show_bug.cgi?id=466920 – Stefan

+0

TBH, eseguo manualmente la formattazione del codice a grana fine . Quando si usano gli strumenti, è un compromesso tra ottenere risultati imprevisti e passare il tempo a configurare lo strumento. – Nayuki

+0

Sono d'accordo se lavori da solo. Sono in un processo graduale di introdurre più restrizioni di formattazione e stile in Eclipse per il nostro team per facilitare la condivisione e la gestione della nostra base di codice. Aiuta anche a ripulire il codice storico. Abbiamo preparato un pacchetto Eclipse portatile e lo abbiamo messo sotto controllo di versione. Abbiamo iniziato con un accordo sulle comuni impostazioni di avviso di Eclipse. Poi abbiamo introdotto findbugs e ora sto preparando le impostazioni di checkstyle che produrranno i prossimi 2000 warning. :) Sono d'accordo sul fatto che sia molto lavoro configurare questi plugin e sperare che a lungo andare si ripaghi. – Stefan

risposta

0

Ho appena trovato un'altra opzione: usare "+ //" alla fine di ogni riga:

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

Utilizzare i tag on/off per disabilitare in codice di Eclipse per i blocchi specifici di codice. Questo ti costringe a formattare il codice tu stesso, ma almeno ti dà il controllo totale su come appare il codice.

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

Le funzioni on/off devono essere impostate su "ON". Nelle preferenze di Eclipse: Java> Stile codice> Formatter. Fare clic sul pulsante "Modifica", "Off/On Tag", spuntare "Abilita Off/On tag"

Problemi correlati