sirve - Visual Studio: ¿Existe una refactorización de "mover la clase a otro espacio de nombres"?
visual studio examples (7)
Estoy haciendo una limpieza arquitectónica que implica mover un grupo de clases a diferentes proyectos y / o espacios de nombres. Actualmente estoy moviendo los archivos a mano, construyendo y luego agregando manualmente usando las declaraciones de Foo según sea necesario para resolver los errores de compilación. ¿Alguien sabe de una manera más inteligente de hacer esto? (¡Somos una tienda CodeRush y Refactor! Pero me gustaría saber si Resharper tiene soporte para esto)
Con Resharper: CTRL + R + O
Luego presione la tecla de flecha hacia abajo dos veces para seleccionar Mover tipo a otro espacio de nombres .
Desde que se proporcionó la respuesta anterior (supongo) esta función se ha agregado a CodeRush. Simplemente coloque el quilate en el Tipo que se moverá y verá una opción Mover Tipo a Espacio de Nombres en el Refactor. Menú de contexto. Esto moverá el tipo al nuevo espacio de nombres y actualizará las referencias. Sin embargo, es posible que aún desee mover el archivo a una carpeta de soluciones que coincida con el nombre del espacio de nombres.
Esta respuesta se aplica al menos a Visual Studio 2013 y 2015 sin necesidad de volver a compartir
- Mover archivos de clase a una nueva carpeta
- Abra ''Buscar y reemplazar''
- Seleccione ''Reemplazar en archivos''
- Escriba la definición del espacio de nombres original en el campo ''Buscar qué'', por ejemplo.
MyCorp.AppStuff.Api
- Escriba la nueva definición de espacio de nombres en el campo ''Reemplazar con'', por ejemplo.
MyCorp.AppStuff.Api.Extensions
- Seleccione la nueva carpeta usando el botón de búsqueda del campo ''Buscar en'' ... o escriba la ruta de la carpeta
- Presiona el botón Reemplazar todo
Hay soluciones parciales para VS 2015 y VS 2017 sin Resharper usando extensiones gratuitas.
Una extensión que me gusta hoy (a finales de 2017) es la extensión del espacio de nombres de reparación VS: https://marketplace.visualstudio.com/items?itemName=vs-publisher-599079.FixNamespace#overview
Analiza la estructura de carpetas de su solución y ofrece refactorización de espacio de nombres usando eso. Desafortunadamente, no es perfecto: no rastrea tan bien las dependencias, pero resolvió la mayor parte del trabajo para mí.
Resharper es la única herramienta que conozco de lo que tiene esta capacidad. ¡También hay muchas otras funcionalidades que faltan en CodeRush y Refactor!
Si no puede, o no quiere usar Re $ harper, Notepad ++ es su amigo:
- Asegúrese de que no haya cambios guardados en Visual Studio para los archivos que necesita para moverse al nuevo espacio de nombres
- Abra todos los archivos que contienen el espacio de nombres que necesita ser cambiado en Notepad ++
- Abrir Buscar y reemplazar (CTRL + H)
- Rellene los campos Buscar y Reemplazar con
- Presione Reemplazar todo en todos los documentos abiertos
- Guardar todos los cambios en todos los documentos (CTRL + MAYÚS + S)
- Cambie a Visual Studio y vuelva a cargar todos los documentos ( Sí a todos en el indicador)
HECHO
Visual Studio 2010 tiene la posibilidad de cambiar el nombre de un espacio de nombres. Coloque el cursor sobre el nombre del espacio de nombres y presione F2 . O simplemente renómbrelo en el código y presione Mayús + Alt + F10 , Entrar después de ver aparecer el garabato rojo.
Reharper también puede cambiar el nombre de los espacios de nombres . Citar:
La refactorización Renombrar espacio de nombres permite a los usuarios cambiar el nombre de un espacio de nombres específico y corregir automáticamente todas las referencias al espacio de nombres en el código. Los siguientes usos son renombrados:
- Declaraciones del espacio de nombres
- Usando directivas
- Nombres calificados de tipos