Wednesday, February 25, 2015

Editorconfig en nuestro entorno de trabajo


¿Que es EditorConfig?

EditorConfig ayuda a los desarrolladores definir y mantener estilos de codificación uniformes entre los diferentes editores y entornos de desarrollo. El proyecto EditorConfig consiste en un formato de archivo para definir estilos de codificación y una colección de plugins editor de texto que permiten a los editores para leer el formato de archivo y se adhieren a los estilos definidos.Archivos EditorConfig son de fácil lectura y trabajan muy bien con los sistemas de control de versiones.

¿como es un archivo EditorConfig?

Archivo de ejemplo

A continuación se muestra un ejemplo .editorconfig archivo de ajuste de fin de línea y estilos de sangría para los archivos de Python y JavaScript.
 # EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

# Matches multiple files with brace expansion notation
# Set default charset
[*.{js,py}]
charset = utf-8

# 4 space indentation
[*.py]
indent_style = space
indent_size = 4

# Tab indentation (no size specified)
[*.js]
indent_style = tab

# Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2

# Matches the exact files either package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2

¿Dónde se guardan estos archivos?

Al abrir un archivo, plugins EditorConfig buscan un archivo llamado.editorconfig en el directorio del archivo abierto y en cada directorio padre.Una búsqueda de .editorconfig archivos se detendrá si se alcanza la ruta de archivo raíz o un archivo EditorConfig con root=true se encuentra.
Archivos EditorConfig se leen de arriba a abajo y los archivos EditorConfig más cercanos se leen pasado. Propiedades de hacer juego secciones EditorConfig se aplican en el orden en que se leen, por lo que las propiedades de los archivos más estrechos tienen prioridad.
Para usuarios de Windows: Para crear un .editorconfig archivo en el Explorador de Windows, necesita crear un archivo llamado .editorconfig. , que el Explorador de Windows cambiará automáticamente el nombre de.editorconfig .

Formato de archivo detalles

Archivos EditorConfig utilizan un formato INI que es compatible con el formato utilizado por Python ConfigParser Biblioteca , pero [y] están permitidos en los nombres de las secciones. Los nombres de sección son FilePath pegotes , similar al formato aceptado por gitignore . Barras inclinadas (/) se utilizan como separadores de ruta y octothorpes (#) o punto y coma (;) son usadas como comentarios. Los comentarios deben ir en sus propias líneas. Archivos EditorConfig deben ser codificación UTF-8, ya sea con CRLF o separadores de línea LF.
Patrones globales filePath y propiedades EditorConfig actualmente soportados se explican a continuación.

Los patrones de comodines

Los caracteres especiales reconocidos en los nombres de sección para la coincidencia de comodines:
*Coincide con cualquier cadena de caracteres, excepto separadores de ruta ( / )
**Coincide con cualquier cadena de caracteres
?Coincide con cualquier carácter individual
[name]Coincide con cualquier carácter individual en nombre
[!name]Coincide con cualquier carácter individual no de nombre
{s1,s2,s3}Coincide con cualquiera de las cadenas dadas (separados por comas) (Disponible desde EditorConfig Core 0.11.0)
Los caracteres especiales se pueden escapar con una barra invertida para que no se pueden interpretar como patrones de comodines.

Propiedades compatibles

Tenga en cuenta que no todas las propiedades son apoyados por todos los plugins. El wiki tiene una lista completa de propiedades .
  • indent_style: set a la pestaña o el espacio para usar pestañas duras o suaves pestañas respectivamente.
  • indent_size: un número entero que define el número de columnas que se utilizan para cada nivel de sangrado y la anchura de las lengüetas suaves (cuando sea compatible). Cuando se establece en la ficha, se utilizará el valor de tab_width (si se especifica).
  • tab_width: un número entero que define el número de columnas que se utilizan para representar un carácter de tabulación. Por defecto es el valor deindent_size y no suele deben especificarse.
  • end_of_line: set de LF, CR o crlf para controlar cómo se representan los saltos de línea.
  • charset: set para latin1, UTF-8, UTF-8-bom, UTF-16BE o UTF-16LEpara controlar el juego de caracteres. El uso de UTF-8-bom se desalienta.
  • trim_trailing_whitespace: establecido en true para eliminar los espacios en blanco precedentes caracteres de nueva línea y falsa para asegurarse de que no lo hace.
  • insert_final_newline: set para asegurar cierto archivo termina con un salto de línea al guardar y falso para asegurarse de que no lo hace.
  • root: propiedad especial que debe especificarse en la parte superior del archivo fuera de cualquier sección. Se establece en true para detener.editorconfig archivos buscar en el archivo actual.
Actualmente todas las propiedades y valores distinguen entre mayúsculas y minúsculas. Ellos serán minúsculas cuando lo analiza. En general, si no se especifica una propiedad, se utilizarán los ajustes del editor, es decir EditorConfig toma ningún efecto sobre esa parte.
Es aceptable y, a menudo prefería dejar ciertas propiedades EditorConfig no especificado. Por ejemplo, tab_width No es necesario especificar a menos que difiere del valor de indent_size. Además, cuando indent_style se ajusta a lapestaña, puede ser deseable dejar indent_size no especificado para que los lectores pueden ver el archivo usando su formato indentación preferida.Además, si una propiedad no ha sido estandarizada en su proyecto(end_of_line por ejemplo), puede ser mejor para dejarlo en blanco.
Fuente: http://editorconfig.org/

No comments :

Post a Comment