2010-02-01 18 views
34

Spesso utilizzo il comando ReSharper "Clean Up Code" per formattare il mio codice nel nostro stile di codifica prima di controllarlo nel controllo del codice sorgente. Questo funziona bene in generale, ma alcuni bit di codice sono meglio formattati manualmente (ad esempio a causa delle regole di rientro in ReSharper, cose come i metodi linq concatenati o gli operatori ternari multi-linea hanno uno strano rientro che li spinge verso destra).C'è un modo per contrassegnare il codice per dire a ReSharper di non formattarlo?

C'è un modo per contrassegnare parti di un file per dire a ReSharper di non formattare quell'area? Sto sperando in una sorta di markup simile a come ReSharper sopprime altri avvisi/funzionalità. In caso contrario, c'è un modo per modificare una combinazione di impostazioni per ottenere ReSharper per formattare correttamente il rientro?

EDIT:

ho trovato this post dal forum ReSharper che dice che ha generato sezioni di codice (come definito nella pagina delle opzioni ReSharper) vengono ignorati nel codice di pulitura. Avendolo provato però, non sembra essere ignorato.

+4

Vuoi veramente "inquinare" il tuo codice con un markup specifico R #? Yuck yuck yuck ... – Oded

+5

@Oded: Non proprio, no - ma preferirei che il codice fosse illeggibile a causa del suo layout. – adrianbanks

+0

È possibile selezionare il codice che si desidera pulire, esso pulirà solo le cose nella selezione. Ma probabilmente lo sapevi già. In ogni caso, ho lo stesso problema, ma mi sono sottomesso alle volontà di ReSharper e correggo lo strano indentation manualmente in seguito. – Skurmedel

risposta

3

Come ultima risorsa, se hai il codice legacy che non si desidera formattare ma si desidera aggiunte alla classe ad essere ben formattati, quindi effettuare la classe parziale e mettere il nuovo codice nel nuovo file.

21

ReSharper> Opzioni> Lingue> C#> Formattazione Style> Altro>

Deseleziona "corpo metodo anonimo Rientro" e "Rientro array di oggetti e di raccolta initilizer blocchi" e qualsiasi altra cosa che colpisce la vostra fantasia.

+0

L'opzione "corpo del metodo anonimo" funziona (mostrando un po 'strano metodo 'DoSomethog()' come esempio), ma R # formatta ancora gli altri blocchi con rientri grandi. – adrianbanks

+0

@adrianbanks - deselezionando "Archi di rientro, oggetti e blocchi di inizializzazione di raccolta" i miei array e gli inizializzatori sono lasciati in pace. Non sei sicuro di quale DoSomethog() ti stai riferendo a però. –

+0

@adrianbanks - anche, se i tuoi blocchi sono già stati eliminati dalla riformattazione precedente, r # li lascerà in pace. Imposta la prima parentesi aperta dove vuoi, CTRL-D per formattare il resto e la successiva pulizia del codice non la toccherà. –

Problemi correlati