2009-12-10 4 views
21

studio visivo continua a fare questo:Formato auto Visual Studio/C#. Posso controllare ritorno a capo dopo attributi

[DataContract] 
public class MyContract 
{ 
    [DataMember] 
    public bool MyBool { get; set; } 
    [DataMember] 
    public string MyString { get; set; } 
} 

Vorrei che questo:

[DataContract] 
public class MyContract 
{ 
    [DataMember] public bool MyBool { get; set; } 
    [DataMember] public string MyString { get; set; } 
} 

Nessun grosso problema se la 'class MyContract pubblico' è sulla stessa linea della [DataContract].

Visual Studio sembra avere molte opzioni di autoformattazione dettagliate, ma non riesco a trovarne alcuna riguardante le nuove righe dopo gli attributi. Mi sto perdendo qualcosa qui? O è solo non disponibile.

MODIFICA: Per lo meno, mi piacerebbe un'opzione di formattazione "non modificare quello che ho inserito", al contrario di un'opzione "sempre inserire" o "rimuovi sempre". È super-fastidioso che continui a non formattare il mio codice dopo aver digitato.

+0

Ho anche imbattuto in questo fastidio. VS2013 è uscito e sembra che non ci sia nulla da fare a meno che mi manchi qualcosa, vero? - Hai trovato una soluzione migliore di solo Ctrl-Z'ing? – vexe

+0

Lo stesso per VS 2015 @vexe. –

risposta

6

Quello che di solito fare è premere Ctrl-Z nel momento stesso formattazione automatica salti in cui io non apprezzo.

cioè su un riconoscimento di chiusura, che formatta l'intera classe o metodo. Scrivi il premio di chiusura, guarda come cambia il modo in cui non ti piace e premi Ctrl-Z. (So ​​che stavi cercando un'opzione reale, non so se esiste).

+0

oh! in realtà non è male. Ho sempre pensato che avrebbe cancellato la mia ultima battitura, ma ovviamente hai capito che non lo è. Se non risulta che sia possibile eseguire una configurazione reale, questa è una soluzione ragionevole. – Clyde

+1

Diversi programmi agiscono in modo diverso qui. OpenOffice (preferito personale) per esempio rimuove sia l'autoformat * e * l'ultima digitazione, che è una seccatura. In Eclipse dipende dal plugin (spesso rovinando totalmente la lista di annullamenti). La maggior parte dei prodotti Microsoft (Visual Studio, Office) la aggiunge come voce aggiuntiva nell'elenco di annullamenti. Una volta che ti ci abitui, non è poi così male ;-) – Abel

1

Non sono sicuro se funziona per gli attributi, ma guardare sotto Tools ->Options ->Text Editor ->C# ->Formatting ->Wrapping ->Leave block on single line o Leave statements and member declarations on the same line.

+0

No ... li hai già controllati. Non si applicano agli attributi – Clyde

-3

Sì, Ctrl+E, D è tuo amico. È possibile ottimizzare la formattazione in Text editor options

1

ReSharper può farlo. Ha opzioni per:

  • Luogo attributo type stessa linea
  • Luogo attributo metodo su stessa linea
  • bene Luogo attributo/indicizzatore/evento sulla stessa linea (questo è quello che si desidera)
  • Posiziona l'attributo del campo sulla stessa riga

Costa qualche soldo ma se sei ossessivo come lo sono vale ogni centesimo. ;)

Ho anche rimappare Ctrl+K, Ctrl+D al codice del formato muto di ReSharper per sperimentare la formattazione beatitudine.

+0

Non cambia la modalità di formattazione anche dopo averlo impostato sulla stessa linea. –

+3

Mi sento un po 'male per il downvote, ma sinceramente non sono un fan di queste risposte "compra questo prodotto". La domanda richiede specificamente Visual Studio, non Resharper. Ho usato Resharper in passato, e so che è un buon prodotto, ma non ce l'ho adesso, e non lo capisco presto. Il mio problema adesso è VS. –

0

Quello che ha funzionato meglio per me è stato quello di disabilitare formato auto on; e incolla. Non voglio quasi mai il formato automatico in questi momenti comunque. Ciò consente di digitare gli attributi e spostarli senza interferenze fastidiose.

Opzioni> Editor di testo> C#> Formattazione> Generale

Settings screenshot

Problemi correlati