Sobre el proyecto
SwiftFormat es una biblioteca de código y una herramienta de línea de comandos para reformatear código Swift en macOS, Linux o Windows. Más allá del simple ajuste de espacios en blanco, puede insertar o eliminar `self` implícito, eliminar paréntesis redundantes y corregir muchas otras desviaciones de los modismos estándar de Swift.
La motivación declarada del proyecto es que acordar un estilo de codificación común ayuda a la colaboración, pero aplicarlo manualmente es tedioso y propenso a errores. Un formateador automatizado permite a los equipos centrarse en el comportamiento del código en lugar de en su presentación.
Formas de usarlo:
- Herramienta de línea de comandos, ejecutada manualmente o como parte de una cadena de herramientas
- Extensión del Editor de Código de Xcode, invocada mediante el menú Editor > SwiftFormat
- Fase de compilación de Xcode, ejecutándose en cada compilación
- Hook pre-commit de Git, formateando los archivos modificados antes del commit
- Plugin de comando de Swift Package Manager (Swift 5.6+)
- Integraciones para VSCode (mediante Run on Save), Sublime Text y Nova
- GitHub Actions, Danger en CI, Bazel, Docker y AppleScript
Las opciones de instalación incluyen Homebrew (`brew install swiftformat`), Mint, Nix/nixpkgs, CocoaPods, un artifactbundle binario en Package.swift, o compilar manualmente con `swift build -c release`. La extensión de Xcode está disponible como cask de Homebrew o desde GitHub Releases.
El uso básico es `swiftformat .` para formatear archivos Swift en el directorio actual. El README advierte que esto sobrescribe los archivos in situ, por lo que los usuarios deben hacer commit de los cambios primero; `--infer-options` puede sugerir configuraciones que coincidan con el estilo de un proyecto existente. Se admite la canalización de entrada/salida estándar, incluido `--stdin-path` para proporcionar contexto de ubicación del archivo.
La configuración abarca opciones, reglas, versión de Swift, un archivo de configuración `.swiftformat`, globs, modo de linting, códigos de error, caché, encabezados de archivo y formato de Markdown. El README también incluye una sección de preguntas frecuentes, problemas conocidos, un tip jar y créditos. El proyecto tiene licencia MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.