2012-10-11 2 views
38

Visual Studio ha un'opzione per posizionare le direttive di sistema nella parte superiore durante l'ordinamento.Come dire a ReSharper di ordinare gli usi con gli spazi dei nomi di sistema NON in alto?

enter image description here

Quando questa impostazione è deselezionata , l'ordinamento utilizzando le istruzioni facendo clic destro su di essi e con il Organizza usings caratteristica, gli spazi dei nomi luoghi di sistema in ordine alfabetico insieme tutte le altre importazioni dello spazio dei nomi.

Tuttavia, ReSharper non sembra onorare questa impostazione e non ha nulla di simile nella propria pagina delle opzioni Importa spazio dei nomi. Si comporta sempre come se si desidera che gli spazi dei nomi di sistema in alto. Questo è particolarmente fastidioso quando ne hai già alcuni in basso e lasci che ReSharper suggerisca uno spazio dei nomi da importare, quindi ne troverai alcuni ad entrambe le estremità della lista.

C'è un modo per risolvere questo problema? O è solo un bug/supervisione in ReSharper?

risposta

8

stavo testando questo nuovo sotto ReSharper 8 per vedere se è stato risolto, e ho notato qualcosa di interessante:

  • Se i miei spazi dei nomi esistenti hanno già System voci, poi ReSharper inserirà nuovi spazi dei nomi sotto di loro .

  • Se i miei spazi dei nomi esistenti hanno almeno un elemento prima le System voci, poi ReSharper inserirà nuovi spazi dei nomi in ordine alfabetico.

  • Il comportamento di ReSharper è lo stesso indipendentemente da dell'impostazione di Visual Studio. Prende solo in considerazione gli spazi dei nomi esistenti - non le impostazioni di Visual Studio.

Quindi, se ho il seguente:

using A; 
using System; 
using Z; 

Poi se uso una classe da namespace B e alt-entrare a far ReSharper aggiungere lo spazio dei nomi, finirà come:

using A; 
using B; 
using System; 
using Z; 

MA, se devo solo questo:

using System; 
using Z; 

E faccio la stessa cosa esatta, allora vado a prendere:

using System; 
using B; 
using Z; 

E non importa ciò che l'impostazione di VS è.

Suppongo che questo sia ciò che stava accadendo in ReSharper 7 anche io e non me ne sono accorto.

+0

Sto usando r # 2017.2 e sembra che non funzioni. L'uso di sempre è messo in cima. –

12

Sto usando ReSharper 7 e almeno per me ReSharper utilizza l'opzione "Ordinamento direttiva sistema" dalle opzioni di Visual Studio.

A volte, quando le impostazioni di VS e ReSharper vengono modificate, è possibile ripristinare le impostazioni di Visual Studio da Tool-> Importa ed esporta impostazioni-> Ripristina tutte le impostazioni.

+3

Ho controllato su più workstation, reinstallato, ecc. Resharper non rispetta le impostazioni VS quando non è selezionato. –

+0

@MattJohnson Questo è ancora valido nelle versioni correnti di Resharper (8.2). Il resharper posiziona sempre prima le direttive di sistema. – jmsb

+0

@MattJohnson Sto vedendo anche questo, che fa schifo. –