Fare in modo che il formattatore del codice Java di Eclipse ignori i commenti sui blocchi

StackOverflow https://stackoverflow.com/questions/1024886

  •  06-07-2019
  •  | 
  •  

Domanda

C'è un modo per fare in modo che il formattatore di codice Java incorporato di Eclipse ignori i commenti? Ogni volta che lo eseguo, gira questo:

    /*
     * PSEUDOCODE
     * Read in user's string/paragraph
     * 
     * Three cases are possible
     * Case 1: foobar
     *         do case 1 things
     * Case 2: fred hacker
     *         do case 2 things
     * Case 3: cowboyneal
     *         do case 3 things
     *         
     * In all cases, do some other thing
     */

in questo:

    /*
     * PSEUDOCODE Read in user's string/paragraph
     * 
     * Three cases are possible Case 1: foobar do case 1 things Case 2: fred
     * hacker do case 2 things Case 3: cowboyneal do case 3 things
     * 
     * In all cases, do some other thing
     */

Ho già giocato con Windows > Preferenze & Gt; Java & Gt; Stile codice & Gt; Impostazioni del formatter ma non riesco a trovarne una per mantenere la formattazione dei commenti. Sto usando Eclipse 3.4.0.

È stato utile?

Soluzione

Aggiornamento 2010, come indicato dall'OP e in questa risposta , la stringa speciale // @formatter: off in Eclipse 3.6 è sufficiente.

Non era disponibile al momento della domanda.


Risposta originale: giugno 2009, Eclipse 3.4 / 3.5

Con Java Formatter ( Windows > Preferenze > Java > Code Style > Formatter ), puoi creare un nuovo profilo Formatter.

Nella scheda Commenti (in eclipse3.5), puoi assicurarti, nelle " Impostazioni commenti Javadoc " ;, di deselezionare & <;> Formattare tag HTML " ;.
Controlla anche " Non unire mai le linee " in " Impostazioni generali " sezione.

Quindi il tuo commento dovrebbe essere scritto come:

/**
 * PSEUDOCODE
 * Read in user's string/paragraph
 * 
 * Three cases are possible:
 * <dl>
 *   <dt>Case 1: foobar</dt>
 *     <dd>        do case 1 things</dd>
 *   <dt>Case 2: fred hacker</dt>
 *     <dd>        do case 2 things</dd>
 *   <dt>Case 3: cowboyneal</dt>
 *     <dd>        do case 3 things</dd>
 * </dl>        
 * In all cases, do some other thing
 */

Nota: ho fatto un commento Javadoc , e non un semplice commento, poiché credo che un commento con tanto testo al suo interno possa essere posizionato meglio di fronte a un metodo. Inoltre, le sezioni Javadoc hanno più parametri di formattazione con cui giocare.
Se è di fronte a un metodo (vero Javadoc), il tag HTML < dl > ; , < dt > e < dd > aiuteranno a presentarlo correttamente nella vista Javadoc.

Altri suggerimenti

Esiste un'altra soluzione che è possibile utilizzare per sopprimere la formattazione di commenti di blocco specifici. Utilizzare / * - (notare il trattino) all'inizio del commento sul blocco e la formattazione non sarà interessato se si formatta il resto del file.

/*-
 * Here is a block comment with some very special
 * formatting that I want indent(1) to ignore.
 *
 *    one
 *        two
 *            three
 */

Fonte: http://www.oracle. com / technetwork / java / JavaSE / documentazione / codeconventions-141999.html # 350

Ho appena imparato da un collega che Eclipse offre speciali tag di formattazione che possono essere utilizzati per questo:

// @formatter:off
/*
 * ╔════════╦═══════╦══════════╗
 * ║ Month  ║ Sales ║ Position ║
 * ╠════════╬═══════╬══════════╣
 * ║ June   ║ 44k   ║ 2nd      ║
 * ║ July   ║ 39k   ║ 2nd      ║
 * ║ August ║ 49k   ║ 4th      ║
 * ╚════════╩═══════╩══════════╝
 *
 * This comment shouldn't be formatted, and will now be ignored by the formatter.
 */
// @formatter:on

Nota che potresti dover abilitare manualmente questa funzione tramite il menu Preferenze & # 8594; Java > Stile codice > Formatter, facendo clic su Modifica , selezionando la scheda Off / On Tag e selezionando Abilita tag Off / On (source ).

Un rapido Google per la stringa @formatter: off mi ha portato a quest'altra risposta SO , che ha menzionato questa funzione nel contesto della disabilitazione del formattatore per i blocchi di codice. Ho confermato che funziona per i commenti di riga, "normale". blocca anche i commenti e Javadoc blocca i commenti.

Un'altra possibilità è quella di usare l'HTML & pre; > in Javadoc:

/**
 * <pre>
 *    this
 *   is
 *      kept
 *  as
 *    is
 * </pre>
 */

Almeno questo è il modo in cui tendo a incorporare la mia arte ASCII nei commenti del codice sorgente :)

Circonda il testo specifico con < pre > < / pre > .

In Eclipse 3.4: Preferenze, Java- > Code Style- > Formatter, quindi modifica profilo, scheda commenti. Ci sono un sacco di opzioni lì per controllare la formattazione dei commenti.

Se vuoi sopprimere la formattazione in eclipse, puoi sempre racchiudere il contenuto che NON DEVE ESSERE FORMATO nel tag < pre > UNFORMATTED CONTENT < / pre > . Il formattatore Javadoc rileverà quel tag e lascerà tutto tra i tag non formattati.

Pro:

  • Il resto di Javadoc è ancora formattato
  • L'output html di Javadoc sarà "non formattato" anche a causa dei pre tag

Contro:

  • Non vederne uno

una soluzione alternativa è aggiungere il tag pre per i commenti che non si desidera formattare con l'eclissi

/**
 * <pre>
 *    this part
 *   is
 *      out of
 *  format
 *    
 * </pre>
 */

Dipende dalla lingua.

Ad esempio, se lavori con javascript, vai su " Window - > Preferenze - > Javascript - > Stile codice - > Formattatore " e quindi modificare le opzioni di formattazione.

Modifica (che riflette le modifiche nelle Domande OP

Per modificare la formattazione del codice java, vai a " Finestra - > Preferenze - > Java - > Stile codice - > Formattatore "

Nella parte superiore del riquadro verrà visualizzato

  

Profilo attivo:
  Eclipse [incorporato]

Da lì hai un pulsante a destra, " Modifica " ;, e due sotto, " Nuovo ... " e " Import ... " ;. Consiglio di modificare il profilo esistente.

Nella finestra di dialogo Modifica profilo, nella parte superiore sono presenti una serie di schede. L'ultima scheda è " Commenti " ;. Per disabilitare completamente la formattazione dei commenti, deseleziona " Abilita formattazione commenti Javadoc " ;, " Abilita formattazione commenti blocco " ;, " Abilita formattazione commenti riga " ;, e " Abilita formattazione commenti intestazione " ;.

Puoi cambiarlo in Windows - Preferenze - Java - Stile codice - Formatter, quindi fai clic sul pulsante Modifica .., trova Commenti, scegli le linee Non unire mai.

Quindi, dovrebbe essere OK.

Prova questo. Questo ha funzionato per me. Con Java Formatter (Windows > Preferenze > Java > Code Style > Formatter), puoi creare un nuovo profilo Formatter da esistente e quindi modificarlo.

Se Eclipse non consente di salvarlo, creane uno nuovo e salvalo. inserisci qui la descrizione dell'immagine

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top