c# - que - Eliminar espacios de nombres no utilizados en todo un proyecto o solución a la vez
un espacio de nombres no puede contener directamente miembros como campos o métodos (8)
Sé que puedes hacerlo archivo por archivo.
¿Hay alguna forma de hacerlo en un solo paso para todos los archivos en un proyecto?
¿Te refieres a usar declaraciones? Primero, nótese que generalmente no hacen daño a otros que toman espacio. Herramientas como ReSharper ofrecen trucos automatizados para hacer esto, sin embargo: había un enlace en el feed VS hace poco tiempo; se reduce a:
- ve a Herramientas -> Macros -> Macros IDE ...
- en el Explorador de proyectos, Agregar -> Agregar módulo ... (poner un nombre - He usado OrganiseUsings)
- pegar con el siguiente código
- Archivo -> Guardar MyMacros, salga
Ahora, si hace clic derecho en la barra de herramientas y Personaliza ... - debería poder encontrar MyMacros.OrganiseUsings.RemoveAndSortAll - arrastre esto a algún lugar útil (tal vez el menú Herramientas, también podría querer cambiar el nombre después de colocarlo).
Ahora puede usar esta opción para ejecutar el comando Eliminar y ordenar para una solución completa. Un gran ahorro de tiempo.
==== código ====
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Public Module OrganiseUsings
Public Sub RemoveAndSortAll()
On Error Resume Next
Dim sol As Solution = DTE.Solution
For i As Integer = 1 To sol.Projects.Count
Dim proj As Project = sol.Projects.Item(i)
For j As Integer = 1 To proj.ProjectItems.Count
RemoveAndSortSome(proj.ProjectItems.Item(j))
Next
Next
End Sub
Private Sub RemoveAndSortSome(ByVal projectItem As ProjectItem)
On Error Resume Next
If projectItem.Kind = Constants.vsProjectItemKindPhysicalFile Then
If projectItem.Name.LastIndexOf(".cs") = projectItem.Name.Length - 3 Then
Dim window As Window = projectItem.Open(Constants.vsViewKindCode)
window.Activate()
projectItem.Document.DTE.ExecuteCommand("Edit.RemoveAndSort")
window.Close(vsSaveChanges.vsSaveChangesYes)
End If
End If
For i As Integer = 1 To projectItem.ProjectItems.Count
RemoveAndSortSome(projectItem.ProjectItems.Item(i))
Next
End Sub
End Module
Si quiere decir ''usar'' los Comandos de Energía contiene esta funcionalidad + un barco carga más.
Para Visual Studio 2010, puede descargar la extensión "Eliminar y ordenar usando" de la Galería de Visual Studio.
http://visualstudiogallery.msdn.microsoft.com/en-us/cb559aa8-d976-4cc2-9754-5a712f985d16
Funciona bien para mí
Aquí hay una pequeña mejora en el script anterior para VB.NET. Asegúrese de tener instaladas las herramientas de productividad Power Tools .
Private Sub RemoveAndSortSome(ByVal projectItem As ProjectItem)
On Error Resume Next
If projectItem.Kind = Constants.vsProjectItemKindPhysicalFile Then
If projectItem.Name.LastIndexOf(".cs") = projectItem.Name.Length - 3 Then
Dim window As Window = projectItem.Open(Constants.vsViewKindCode)
window.Activate()
projectItem.Document.DTE.ExecuteCommand("Edit.RemoveAndSort")
window.Close(vsSaveChanges.vsSaveChangesYes)
ElseIf projectItem.Name.LastIndexOf(".vb") = projectItem.Name.Length - 3 Then
Dim window As Window = projectItem.Open(Constants.vsViewKindCode)
window.Activate()
projectItem.Document.DTE.ExecuteCommand("EditorContextMenus.CodeWindow.OrganizeImports.RemoveandSortImports")
window.Close(vsSaveChanges.vsSaveChangesYes)
End If
End I
Productividad Herramientas eléctricas es lo que necesita. https://visualstudiogallery.msdn.microsoft.com/dbcb8670-889e-4a54-a226-a48a15e4cace
Una vez que tenga eso instalado, puede encontrar " Eliminar y ordenar usos al guardar" desde "Herramientas -> Opciones -> Herramientas de potencia de productividad -> Comandos de potencia -> Generales ". Después de marcar esa opción, reinicie VS. Ahora guarda y ves la magia.
Para VS 2015, eche un vistazo a esto
Estoy usando Visual Studio 2015 y encontré una herramienta llamada BatchFormat: https://marketplace.visualstudio.com/items?itemName=vs-publisher-147549.BatchFormat
Esto hizo el trabajo a la perfección.
Instale la herramienta, luego haga clic derecho en su solución en el explorador de soluciones, luego en la parte superior del menú verá el formato de lote:
Todo lo que seleccione se aplica a cada archivo en su solución, como puede ver en la captura de pantalla, hay otras opciones, también puede formatear cada documento.
para una versión más reciente, incluyendo 2017, pruebe la extensión "Formatear todos los archivos" . ha funcionado muy bien para mí.
Las otras respuestas que hacen referencia a las extensiones de Productivity Power Tools no entran en detalles sobre cómo hacerlo, así que aquí hay algunas instrucciones para Visual Studio 2013, 2015 y 2017:
Primero, abra el cuadro de diálogo Herramientas> Extensiones y actualizaciones ... en Visual Studio, seleccione En línea en la barra de la izquierda y luego busque en la Galería de Visual Studio "Herramientas de productividad y potencia" . Instale la extensión y reinicie VS.
Alternativamente, puede descargar e instalar manualmente las extensiones para su versión de Visual Studio:
Productivity Power Tools 2013
Productivity Power Tools 2015
Productivity Power Tools 2017
Para VS2017, también puede descargar la extensión Comandos de alimentación por separado de las demás en el paquete Herramientas de poder:
Comandos de alimentación para Visual Studio (VS2017)
Tenga en cuenta que, en el momento de redactar este informe, la versión VS2017 no funciona con los proyectos / soluciones .Net Core.
Una vez que tenga la extensión instalada, simplemente haga clic con el botón derecho en la solución en el Explorador de soluciones, luego seleccione Comandos de energía> Eliminar y ordenar usos .
Esto puede llevar un tiempo, particularmente en soluciones grandes; tampoco mantiene los archivos modificados abiertos (de ahí que no se deshaga), así que asegúrese de confirmar todo en su VCS de elección antes de ejecutarlo , para que pueda revertir los cambios que realiza si algo sale mal.
Actualización: Formatear todos los archivos
Recientemente, he estado usando la extensión Formatear todos los archivos , que le permite ejecutar Formatear documento , Eliminar y ordenar usos y otro comando personalizado de su elección (todo opcionalmente, configurado en las preferencias VS).
Parece funcionar muy bien, pero nuevamente, no deshacer, así que asegúrese de confirmar todo en su VCS de elección antes de ejecutarlo .