Definición de estilos de codificación coherentes con EditorConfig
Para aplicar estilos de codificación coherentes para todos los usuarios que funcionan en un código base, puede agregar un archivo .editorConfig
a la solución o proyecto. La configuración del archivo EditorConfig se adhiere a una especificación de formato de archivo mantenida por EditorConfig.org. Muchos editores de código y aplicaciones admiten archivos EditorConfig, incluido Visual Studio. Dado que la configuración está en un archivo, acompañan al código y se pueden usar incluso fuera de Visual Studio.
En Visual Studio, la configuración del archivo EditorConfig tiene prioridad sobre las distintas opciones del editor de texto global disponibles en Herramientas>Opciones>Editor de texto>C/C++>Estilo de código. Puede usar un archivo EditorConfig para adaptar cada código base para usar la configuración del editor de texto específica de ese proyecto.
Puede rellenar manualmente un archivo EditorConfig o generarlo automáticamente en función de la configuración de estilo de código que haya elegido en Visual Studio. Para crear un nuevo archivo de .editorconfig
basado en la configuración actual de Visual Studio, en el menú principal de Visual Studio, elija Herramientas>Opciones>Editor de texto>C/C++>Estilo de código. A continuación, elija Generar archivo .editorconfig a partir de la configuración. Elija la carpeta donde está el proyecto y, a continuación, elija Seleccionar carpeta para guardar el archivo .editorconfig
.
Al usar un archivo EditorConfig, puede seguir configurando sus propias preferencias de editor personal en el editor de texto de Visual Studio. Esta configuración del editor de texto se aplica siempre que se trabaja en un código base sin un archivo EditorConfig o cuando el archivo EditorConfig no invalida una configuración determinada. Un ejemplo de tal preferencia es si se deben usar pestañas o espacios para el estilo de sangría del código.
Al agregar un archivo EditorConfig al proyecto en Visual Studio, solo se da formato a nuevas líneas de código en función de la configuración de EditorConfig. El formato del código existente no cambia a menos que ejecute uno de los siguientes comandos:
-
Seleccione Limpieza de código en el editor de Visual Studio o presione Ctrl+K, Ctrl+E. Este comando se aplica a los ajustes de espacio en blanco, como el estilo de sangría, y a las configuraciones de estilo de código seleccionadas, como las preferencias de paréntesis.
Dar formato al documento.
Seleccione Editar>Documento con formato avanzado>o presione Ctrl+K, Ctrl+D en el perfil predeterminado. Este comando solo se aplica a configuraciones de espacio en blanco, como el estilo de sangría.
Coherencia del código
La configuración del archivo EditorConfig le permite mantener estilos y convenciones de codificación coherentes en un código base, independientemente del editor o ide que use. Algunos estilos de codificación que puede controlar son el estilo de sangría, el ancho de tabulación, los caracteres de fin de línea y la codificación. Por ejemplo, si el código base de C# tiene una convención de aplicar sangrías con cinco espacios, usar codificación UTF-8 en los documentos y terminar las líneas con CR/LF, puede configurar un archivo EditorConfig para utilizar esta convención.
Los archivos EditorConfig son útiles cuando las convenciones de codificación que se usan en los proyectos personales difieren de las convenciones que se usan en los proyectos del equipo. Por ejemplo, puede preferir que una sangría agregue un carácter de tabulación en el código. Sin embargo, es posible que el equipo prefiera que una sangría agregue cuatro espacios en su lugar. Los archivos EditorConfig resuelven este problema al permitirle tener una configuración para cada escenario.
Dado que un archivo .editorconfig
en el código base contiene la configuración de EditorConfig, viajan junto con ese código base. Siempre que abra el archivo de código en un editor compatible con EditorConfig, se activa la configuración del editor de texto.
Nota
Las convenciones establecidas en un archivo EditorConfig no se pueden aplicar en una canalización de CI/CD como errores de compilación o advertencias. Las desviaciones de estilo solo aparecen en el editor de Visual Studio y en la lista de errores.
Configuraciones admitidas
El editor de Visual Studio admite el conjunto principal de propiedades de EditorConfig:
- indent_style
- indent_size
- tab_width
- end_of_line
- charset
- trim_trailing_whitespace
- insert_final_newline
- raíz
EditorConfig admite todos los lenguajes compatibles con Visual Studio, excepto para la configuración del editor relacionada con XML de EditorConfig.
EditorConfig admite convenciones de estilo de código , incluidas lenguaje, formatoy convenciones de nomenclatura para C# y Visual Basic.
Agregar y quitar archivos EditorConfig
Al agregar un archivo EditorConfig al proyecto o código base, Visual Studio da formato a las nuevas líneas de código que escriba según la configuración del archivo EditorConfig. Sin embargo, Visual Studio no convierte los estilos existentes en los nuevos hasta que dé formato al documento o ejecute Limpieza de código. Por ejemplo, si las sangrías del archivo tienen formato con pestañas y agrega un archivo EditorConfig que da formato a sangrías con espacios, los caracteres de sangría no se convierten automáticamente en espacios. Al dar formato al documento (seleccione Editar>Advanced>Format Document o presione Ctrl+K, Ctrl+D), la configuración del espacio en blanco del archivo EditorConfig se aplica a las líneas de código existentes.
Si quita un archivo EditorConfig del proyecto o de la base de código, debe cerrar y volver a abrir los archivos de código que estén abiertos para que la configuración global del editor afecte a las nuevas líneas de código.
Agregar un archivo EditorConfig a un proyecto
Para agregar un archivo EditorConfig al proyecto o solución, siga estos pasos:
Abra un proyecto o solución en Visual Studio. Seleccione la solución o el nodo del proyecto, en función de si la configuración de EditorConfig se debe aplicar a todos los proyectos de la solución o solo a uno. También puede seleccionar una carpeta en el proyecto o solución para agregar el archivo
.editorconfig
.En el menú, seleccione Proyecto>Agregar nuevo elemento o presione Ctrl+Mayús+A.
Se abre el cuadro de diálogo Agregar nuevo elemento .
En el cuadro de búsqueda, escriba editorconfig.
Se muestran dos plantillas de elemento Archivo editorconfig en los resultados de búsqueda.
Seleccione la plantilla editorconfig File (empty) para agregar un archivo EditorConfig rellenado previamente con las opciones predeterminadas de EditorConfig para espacios en blanco, estilo de código y convenciones de nomenclatura. O bien, seleccione la plantilla de editorconfig File (.NET) para agregar un archivo EditorConfig rellenado previamente con el espacio en blanco predeterminado .NET, el estilo de código y las convenciones de nomenclatura.
Aparece un nuevo archivo
.editorconfig
en el Explorador de soluciones y se abre en el editor como una nueva pestaña.Opcionalmente, edite el archivo y guárdelo.
Otras formas de agregar un archivo EditorConfig
Hay un par de otras formas de agregar un archivo EditorConfig al proyecto:
Use IntelliCode para Visual Studio para generar un archivo
.editorconfig
en tu solución. Haga clic con el botón derecho en el Explorador de soluciones y elija Agregar>Nuevo EditorConfig (IntelliCode) en el menú contextual. IntelliCode para Visual Studio deduce los estilos de código del código existente y, a continuación, crea un archivo EditorConfig con las preferencias de estilo de código predefinidas.Generar automáticamente un archivo EditorConfig en función de la configuración de estilo de código.
Jerarquía y precedencia de archivos
Al agregar un archivo de .editorconfig
a una carpeta de la jerarquía de archivos, su configuración se aplica a todos los archivos aplicables en ese nivel y versiones inferiores. También puede invalidar la configuración de EditorConfig para un proyecto determinado, código base o parte de un código base, de modo que use convenciones diferentes a otras partes del código base. Hacerlo puede ser útil cuando incorpora código de otro lugar y no quiere cambiar sus convenciones.
Siga estas instrucciones:
Para invalidar algunas o todas las configuraciones de EditorConfig, agregue un archivo
.editorconfig
en el nivel de la jerarquía de archivos al que desea que se apliquen esas configuraciones invalidadas. La nueva configuración del archivo EditorConfig se aplica a los archivos en el mismo nivel y a los archivos de cualquier subdirectorio.Si desea invalidar algunos, pero no todos los valores, especifique solo esos valores en el archivo
.editorconfig
. Solo se invalidan las propiedades que se enumeran explícitamente en el archivo.editorconfig
de nivel inferior. Otras opciones de configuración de los archivos.editorconfig
de nivel superior siguen aplicándose.Si desea asegurarse de que no se aplique ninguna configuración de archivos de
.editorconfig
de nivel superior a esta parte del código base, agregue la propiedadroot=true
al archivo de.editorconfig
de nivel inferior.# top-most EditorConfig file for this level root = true
Los archivos EditorConfig se leen de arriba a abajo. Si hay varias propiedades con el mismo nombre, la propiedad encontrada más recientemente con el mismo nombre tiene prioridad.
Editar archivos EditorConfig
Visual Studio 2022 proporciona un editor visual para los archivos EditorConfig.
Después de editar el archivo EditorConfig, debe volver a cargar los archivos de código para que la nueva configuración surta efecto.
Visual Studio le ayuda a editar archivos EditorConfig proporcionando listas de finalización de IntelliSense. Por ejemplo:
Si edita muchos archivos EditorConfig, es posible que encuentre útil la extensión de servicio de lenguaje de EditorConfig . Algunas de las características de esta extensión incluyen resaltado de sintaxis, IntelliSense mejorado, validación y formato de código.
Ejemplo
El ejemplo siguiente muestra el estado de sangría de un fragmento de código en C# antes y después de agregar un archivo EditorConfig al proyecto:
En el cuadro de diálogo Herramientas>Opciones, establezca la configuración de Editor de texto>C#>Pestañas para que el editor de texto de Visual Studio genere cuatro caracteres de espacio al presionar la tecla Tabulador.
Como se esperaba, al presionar la tecla Tab en la línea siguiente, indenta la línea agregando cuatro espacios en blanco.
Use EditorConfig para cambiar la configuración de pestañas para usar pestañas.
Seleccione Use Tabs en el archivo EditorConfig.
Agregue un nuevo archivo denominado
.editorconfig
al proyecto, con el siguiente contenido. El indicador de[*.cs]
significa que este cambio solo se aplica a los archivos de código de C# del proyecto.# Top-most EditorConfig file root = true # Tab indentation [*.cs] indent_style = tab
Al presionar la tecla Tab , ahora aparecen caracteres de tabulación en lugar de espacios.
Cómo solucionar problemas de configuración de EditorConfig
Si existe un archivo EditorConfig en cualquier parte de la estructura de directorios en o encima de la ubicación del proyecto, Visual Studio aplica la configuración del editor en ese archivo al editor. En este caso, es posible que vea el siguiente mensaje en la barra de estado:
User preferences for this file type are overridden by this project's coding conventions.
Esto significa que si los valores de configuración del editor de Herramientas>Opciones>Editor de texto (como el tamaño y estilo de la sangría, el tamaño de la tabulación o las convenciones de codificación) se especifican en un archivo EditorConfig en la estructura de directorios, en el proyecto o por encima de este, las convenciones del archivo EditorConfig invalidan la configuración que aparece en Editor de texto.
Para solucionar problemas de EditorConfig, siga estos pasos:
Para desactivar la compatibilidad de EditorConfig con Visual Studio, desactive la opción Seguir las convenciones de codificación del proyecto en Herramientas>Opciones>Editor de texto.
Para buscar los archivos EditorConfig en los directorios principales de su proyecto, abra una ventana de comandos y ejecute el siguiente comando desde la raíz del disco que contiene su proyecto.
dir .editorconfig /s
Para controlar el ámbito de las convenciones de EditorConfig, establezca la propiedad
root=true
en el archivo.editorconfig
en la raíz del repositorio o en el directorio que reside el proyecto.Visual Studio busca un archivo denominado
.editorconfig
en el directorio del archivo abierto y en todos los directorios primarios. La búsqueda finaliza cuando llega a la ruta de acceso de archivo raíz o si se encuentra un archivo.editorconfig
que contengaroot=true
.