Formattazione ReSharper: allinea gli operandi uguali

Nota per i googler , questa domanda è in qualche modo obsoleta in quanto la funzionalità richiesta è ora supportata nella versione corrente di ReSharper 2017.3.1

Mi piace formattare il mio codice per allineare il lato destro degli operatori uguali.
Come qui:

bool canRead = false; bool canReadClass = true; string className = boType.Name; 

Sono passato a ReSharper di recente e l’ho trovato molto utile ma non riesco a trovare l’opzione che mi consente di formattare il codice nel modo descritto.

Sai se esiste una tale opzione / plugin?
Forse conosci altre soluzioni di ReSharp?

MODIFICARE:
Come decidere quale parte del codice deve essere allineata?
La mia convenzione sta allineando tutte le variabili nello stesso blocco.
Per “blocco” intendevo parte del codice non diviso per linee vuote.

per esempio

 // First block int count = 10; string name = "abc"; bool calculate = true; ..... ..... // Second block MyOwnType myType = new MyOwntype(); int count = 10; 

EDIT -2
Ho aperto un biglietto R # per questo. Se qualcuno fosse interessato , vota !

Non esiste (al momento) alcun modo per farlo in ReSharper. Fortunatamente, ReSharper ha un’API di estensibilità molto ricca (anche se scarsamente documentata). Ho passato molto tempo con Reflector cercando di capire le cose.

Utilizziamo una linea guida di allineamento simile per i membri della class in un’azienda per cui lavoro (fino all’estremo, allineiamo anche i parametri del metodo). Ho scritto un plugin per ReSharper per aiutarmi a fare proprio questo. È un modulo di “Pulizia del codice”, che viene eseguito durante la pulizia del codice ( CtrlE , CtrlF ) e allinea il codice per te. Inoltre, rende la class sealed , se ansible.

Alcuni esempi :

Parametri del metodo:

 public void DoSomething(string name, int age, IEnumerable coll) 

(dovrai modificare i parametri formali di Avvolgi in Chop sempre in Opzioni-> Stile formattazione-> Interruzioni di riga e avvolgimento per far funzionare correttamente)

costanti:

 private const int RESOURCEDISPLAYTYPE_DOMAIN = 0x00000001; private const int CONNECT_COMMANDLINE = 0x00000800; private const int CONNECT_INTERACTIVE = 0x00000008; private const string RESOURCE_NAME = "Unknown"; 

Puoi scaricare il codice sorgente dal mio SkyDrive.
Modifica Ho perso l’accesso a SkyDrive e ho perso anche i file. Questo era prima di github 🙁

Tieni presente che avrai bisogno di diverse cose per compilarlo / debuggarlo:

  1. Aggiornare gli Command Line Arguments nella scheda Debug in Project Properties con il percorso corretto della DLL di output:

    /ReSharper.Plugin "X:\\MyCompany.CodeFormatter\MyCompany.CodeFormatter\bin\Debug\MyCompany.CodeFormatter.dll"

    Ciò consente di eseguire il debug del plug-in tramite F5 e verrà automaticamente installato nei plug-in di ReSharper nella nuova istanza di Visual Studio che verrà aperta.

  2. Il plugin è per ReSharper 4.5 e fa riferimento alle DLL di questa versione. Se hai installato ReSharper da qualsiasi altra parte tranne C:\Program Files\JetBrains\ReSharper , dovrai correggere i riferimenti.
  3. Questo non allinea le variabili all’interno dei metodi, ma non dovrebbe essere difficile da aggiungere 🙂

Dopo aver installato questo, basta eseguire la Code Cleanup per correggere il tuo allineamento (non ho mai ricevuto una risposta da JetBrains su come eseguire questa operazione durante la formattazione di controvento / punto e virgola, sfortunatamente).

Assemblea è stata ribattezzata per proteggere l’innocente 🙂

In bocca al lupo!

Penso che valga la pena notare che i Power Tools per la produttività di Visual Studio dispongono di una funzione Allinea assegnazioni. Ecco un collegamento agli strumenti di alimentazione della produttività di Visual Studio 2013 .

Puoi provare questo: Code Alignment

Supporta

  • Allinea per … (finestra di dialogo)
  • Allinea per posizione … (finestra di dialogo)
  • Allinea per uguale
  • Allinea con m_
  • Allineare per ”
  • Allineare di
  • Allinea per spazio

Productivity Power Tools 2012 ha anche un comando per questo: ctrl-alt-]

Ovviamente ci sono anche altre chicche.

Per quanto ne so, questo purtroppo non è ansible usando Resharper.