2012-10-11 23 views
38

Visual Studio tiene una opción para colocar las directivas del sistema en la parte superior al ordenarlas.¿Cómo decirle a ReSharper que ordene los usos con espacios de nombres del sistema NO en la parte superior?

enter image description here

Cuando este ajuste es sin control, clasificación mediante instrucciones haciendo clic derecho sobre ellos y con el Organizar usings de características, espacios de nombres de lugares a lo largo del sistema alfabéticamente todas las demás importaciones de espacio de nombres.

Sin embargo, ReSharper no parece respetar esta configuración, ni tiene nada similar en su propia página de opciones de Importaciones del espacio de nombres. Siempre se comporta como si quisiera espacios de nombres del sistema en la parte superior. Esto es especialmente molesto cuando ya tiene algunos en la parte inferior y deja que ReSharper sugiera un espacio de nombre para importar, luego termina con algunos en ambos extremos de la lista.

¿Hay alguna manera de arreglar esto? ¿O es solo un error/supervisión en ReSharper?

Respuesta

8

estaba probando este nuevo bajo ReSharper 8 para ver si se ha fijado, y me di cuenta de algo interesante:

  • Si mis espacios de nombres existentes ya tienen System elementos en primer lugar, a continuación, ReSharper insertará nuevos espacios de nombres debajo de ellos .

  • Si mis espacios de nombres existentes tienen al menos un artículo antes de los System artículos, después ReSharper insertará nuevos espacios de nombres en orden alfabético.

  • El comportamiento de ReSharper es el mismo independientemente de la configuración de Visual Studio. Solo tiene en cuenta los espacios de nombres existentes - no la configuración de Visual Studio.

Así que si tengo el siguiente:

using A; 
using System; 
using Z; 

Entonces si uso una clase de espacio de nombres B y Alt-Intro para que ReSharper añadir el espacio de nombres, que va a terminar como:

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

PERO, si sólo tengo esto:

using System; 
using Z; 

Y lo hago exactamente lo mismo, a continuación, voy a conseguir:

using System; 
using B; 
using Z; 

Y no importa qué configuración de VS es.

Supongo que esto es lo que estaba sucediendo en ReSharper 7 también y simplemente no me di cuenta.

+0

Estoy usando r # 2017.2 y parece que no está funcionando. Allways usar está puesto en la parte superior. –

12

Estoy usando ReSharper 7 y al menos para mí ReSharper toma la "opción de clasificación de directivas del sistema" de las opciones de Visual Studio.

A veces, cuando se alteran los ajustes de VS y ReSharper, ayuda a restablecer la configuración de Visual Studio desde Herramientas-> Importar y Exportar configuración-> Restaurar todas las configuraciones.

+3

He comprobado en varias estaciones de trabajo, reinstalado, etc. Resharper no respeta esa configuración VS cuando no está marcada. –

+0

@MattJohnson Esto sigue siendo cierto en las versiones actuales de Resharper (8.2). Resharper siempre coloca las directivas del sistema primero. – jmsb

+0

@MattJohnson Estoy viendo esto también, eso apesta. –

Cuestiones relacionadas