¿Cómo compartir la misma configuración de Resharper entre múltiples soluciones, sin intervención manual?

79

Nuestros proyectos están organizados en una solución maestra (que contiene cada proyecto) y múltiples soluciones más pequeñas que contienen agrupaciones de proyectos relacionados.

Me gustaría compartir la misma configuración de Resharper en todas las soluciones, asegurándome de que los desarrolladores no necesiten importar archivos de configuración en Resharper ni hacer nada manualmente. La versión que estamos usando es una de las más recientes, 7.0.1. El archivo DotSettings registrado en TFS funciona muy bien en una sola solución, pero replicar el mismo archivo para soluciones 20-30 es un no-no.

¿Hay alguna forma de compartir la misma configuración con cada proyecto / solución en todo el equipo, sin la necesidad de que los desarrolladores configuren esto explícitamente? Idealmente, debería ser posible cambiar la ruta al archivo .DotSettings para cada solución de modo que cuando se edite un solo archivo .DotSettings, afecte automáticamente a todas las soluciones del equipo.

Actualizar:

He buscado un poco sobre esto y probé 2 métodos diferentes, pero ninguno de ellos funciona al 100%:

  • Los enlaces duros que utilizan la herramienta mklink funcionan perfectamente a nivel local, pero TFS no los admite
  • Los atajos normales también serían una solución razonable para esto, pero Resharper no los lee

No tengo opciones aquí.

Actualización 2:

La solución propuesta por Daniel Hilgarth funciona perfectamente, pero solo si se actualiza Resharper. En la versión 7.1 se corrigió un error que causaba que los archivos .DotSettings se revisaran y editaran automáticamente en cada máquina. He probado esto antes y después de actualizar el software y ahora funciona como esperaba.

Puede encontrar más información sobre el error aquí:

http://youtrack.jetbrains.com/issue/RSRP-288235

julealgon
fuente
¿Qué versión de ReSharper estás usando?
Daniel Hilgarth
Estoy usando la versión 7.0.1 de la herramienta. Actualizará la pregunta para reflejar eso.
julealgon
La versión 10 todavía no proporciona ninguna solución específica para esto. Me gustaría verlo como una capa completamente separada, por ejemplo.
MarioDS

Respuestas:

77

Resharper admite la opción de capas.

Lo usarías así:

  1. Tenga un archivo DotSettings con todas sus configuraciones en él.
  2. Para cada solución, realice estos pasos:
    1. ReSharper -> Administrar opciones
    2. Haga clic con el botón derecho en "Solución 'Su solución' compartida en equipo"
    3. Seleccione Agregar capa -> Abrir archivo de configuración
    4. Elija el archivo central DotSettings

Esto crearía un archivo DotSettings para cada solución. Debe registrarlos en TFS junto con el archivo central DotSettings.
Importante: El archivo DotSettings de las soluciones solo contiene un enlace al central, no replican la configuración.

Daniel Hilgarth
fuente
1
Funciona, pero la configuración de "Solución 'Su solución' personal" anula la capa compartida por el equipo. Así que también tuve que repetir 2-4 para configuraciones personales. Ahora estoy rebotando si necesito agregar mi archivo sln.DotSettings.user en el control de fuente o agregar un paso más en la rutina de configuración del entorno de desarrollo local.
Sasha
1
@alexander: De hecho, ese es un problema real y JetBrains está trabajando en ello: youtrack.jetbrains.com/issue/RSRP-333945
Daniel Hilgarth
Con respecto a la declaración "El archivo DotSettings de las soluciones solo contiene un enlace al central" ... ¿es cierto? Seguí el procedimiento anterior pero terminé con dos archivos DotSettings (central y solución) llenos de configuraciones. Eso podría estar bien ... Solo quiero asegurarme de que estoy haciendo esto bien.
Jason Capriotti
1
Eliminé la configuración de la solución y el enlace a la central e intenté esto nuevamente. Funcionó como se esperaba. Es posible que ya haya tenido un archivo de configuración de la solución que contenía todas las configuraciones.
Jason Capriotti
21

La pregunta es antigua, pero si alguien todavía está buscando la forma de compartir la configuración del equipo:

Todas las configuraciones para R # pueden exportarse y empaquetarse como un paquete NuGet y distribuirse como una extensión regular de ReSharper.

Esto le da flexibilidad: puede compartir diferentes configuraciones para diferentes equipos, ReSharper se encargará de detectar la nueva versión y notificar al desarrollador. Bueno, básicamente todos los beneficios que puede obtener al usar NuGet.

Anton Sizikov
fuente
1
Eso es muy bonito de verdad. Pensé en crear nuestro propio paquete NuGet interno para hacer exactamente ese tipo de cosas, pero estaba pensando en hacerlo manualmente (instalarlo como un paquete NuGet normal en el nivel de solución y luego editar las rutas relativas de las referencias para que ReSharper consuma eso). No sabía que las propias extensiones de ReSharper usaban NuGet también. Muy muy util.
julealgon
2

En Resharper 2015

Vaya a Resharper-> Options-> Manage(imagen 1) -> Options-> Import and Export(imagen 2) ->from file....

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Y si lo que importarlo a su equipo que pueda para Solution settingsentonces en vez de Import and Exporten Optionsir a Copy Settings to-> team-shared.

ingrese la descripción de la imagen aquí

Espero que esto te ahorre algo de tiempo.

Matas Vaitkevicius
fuente