sirve que puede programacion para nombres métodos miembros lenguaje espacio error directamente contener como comandos codigos campos basicos c# namespaces

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




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.



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 .