Compartir a través de


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 Editor de textoopciones de herramientas>>>[C# | C/C++ | Visual Basic]>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 obtener más información, vea Formas de agregar un 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 los comandos Limpieza de código o Formato de documento . Para obtener más información, consulte Aplicar estilos de código.

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
  • fin_de_línea
  • conjunto de caracteres
  • 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 de EditorConfig de su proyecto o código base, debe cerrar y volver a abrir cualquier archivo de código que esté abierto para que la configuración global del editor se aplique a las nuevas líneas de código.

Formas de agregar un archivo EditorConfig

Hay un par de formas de agregar un archivo EditorConfig al proyecto:

Generar un EditorConfig a partir de la configuración de estilo de código

Puede rellenar manualmente el archivo EditorConfig o puede generar automáticamente el archivo en función de la configuración de estilo de código que haya elegido en el cuadro de diálogo Opciones de Visual Studio . Esta página de opciones está disponible en Herramientas>Opciones>Editor> de texto [C# | C/C++ | Visual Basic] >Estilo>de código General. Haga clic en Generar archivo .editorconfig desde la configuración para generar automáticamente un archivo .editorconfig de estilo de codificación basado en la configuración establecida en la página Opciones.

Captura de pantalla de generación del archivo editorconfig desde la configuración.

Puede rellenar manualmente el archivo EditorConfig o puede generar automáticamente el archivo en función de la configuración de estilo de código que haya elegido en el cuadro de diálogo Opciones de Visual Studio . Esta página de opciones está disponible en Tools>Options>Text Editor> [C# o Basic] >Code Style>General. Haga clic en Generar archivo .editorconfig desde la configuración para generar automáticamente un archivo .editorconfig de estilo de codificación basado en la configuración establecida en la página Opciones.

Captura de pantalla de generación del archivo editorconfig desde la configuración.

Agregar un archivo EditorConfig a un proyecto

Para agregar un archivo EditorConfig al proyecto o solución, siga estos pasos:

  1. 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.

  2. En el menú, seleccione Proyecto>Agregar nuevo elemento o presione Ctrl+Mayús+A.

    Se abre el cuadro de diálogo Agregar nuevo elemento .

  3. En el cuadro de búsqueda, escriba editorconfig.

    Se muestran dos plantillas de elemento Archivo editorconfig en los resultados de búsqueda.

    Captura de pantalla que muestra las plantillas de elementos de archivo EditorConfig en Visual Studio.

  4. 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.

    Captura de pantalla que muestra el archivo .editorconfig en el Explorador de soluciones y el editor.

  5. Opcionalmente, edite el archivo y guárdelo.

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.

    Captura de pantalla que muestra la jerarquía EditorConfig.

  • 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 propiedad root=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:

Captura de pantalla que muestra IntelliSense en un archivo EditorConfig.

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.

Captura de pantalla que muestra IntelliSense con la extensión EditorConfig Language Service.

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:

  1. 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.

    Captura de pantalla que muestra la configuración de la pestaña Editor de texto.

  2. Como se esperaba, al presionar la tecla Tab en la línea siguiente, indenta la línea agregando cuatro espacios en blanco.

    Captura de pantalla que muestra la tecla Tab que agrega espacios en el código.

    Captura de pantalla que muestra la tecla Tab que agrega espacios en el código.

  3. Use EditorConfig para cambiar la configuración de pestañas para usar pestañas.

    Seleccione Use Tabs en el archivo EditorConfig.

    Captura de pantalla que muestra cómo configurar el uso de pestañas para la tecla Tab.

    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
    
  4. Al presionar la tecla Tab , ahora aparecen caracteres de tabulación en lugar de espacios.

    Captura de pantalla que muestra la tecla Tab que agrega caracteres de tabulación en el código.

    Captura de pantalla que muestra la tecla Tab que agrega caracteres de tabulación en el código.

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:

  1. 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.

    Captura de pantalla que muestra la configuración de Seguir convenciones de codificación del proyecto.

  2. 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
    
  3. 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 contenga root=true.