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 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:

  • Limpieza de código.

    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:

  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.

Otras formas de agregar un archivo EditorConfig

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

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.