Estoy convirtiendo mi proyecto a .NET 6 y quiero usar espacios de nombres con ámbito de archivo en todas partes. Pero la herramienta de conversión solo existe en el editor.
¿Alguien ha descubierto si hay una manera de ejecutar esta función de editor en todos los archivos en solución a la vez? (Parece que Rider tiene esa función)
Agregar una regla para usar espacios de nombres con alcance de archivo en .editorconfig funcionó para mí:
.editorconfig en el directorio de la solución Ejemplo de contenido del archivo .editorconfig :
[*.cs] csharp_style_namespace_declarations = file_scoped:warningDespués de eso, el cuadro de diálogo de cambios de vista previa tenía una opción para aplicar la corrección a todo el proyecto/solución:
csharp_style_namespace_declarations = file_scoped dotnet_diagnostic.IDE0161.severity = error La option = rule:severity quedará obsoleta , tarde o temprano.
Recomiendo encarecidamente leer este artículo antes de comenzar a compilar .editorconfig para su proyecto.
Siempre tengo problemas para encontrar archivos que se supone que deben actualizarse (.editorconfig en este caso). Ni siquiera sé si debería buscarlo en el proyecto, en la instalación de Visual Studio o en cualquier carpeta de la PC. Así que me gusta la respuesta en el enlace a continuación porque dice en qué parte de la interfaz cambiar la configuración.
En mi opinión, la mejor respuesta está aquí: https://www.ilkayilknur.com/how-to-convert-block-scoped-namespacees-to-file-scoped-namespaces
Dice que puede cambiar la preferencia de estilo de código (y habilitar la visualización de la opción para aplicar esta preferencia en un documento/proyecto/solución) yendo a Herramientas => Opciones => Editor de texto => C#=> Estilo de código y luego cambiando la preferencia relacionada. 