SwiftFormat: El estilista automático para tu código Swift

Cuando el código se formatea a sí mismo
Imagina: en un equipo de cinco desarrolladores, cada uno escribe código a su manera. Algunos añaden espacios antes de los corchetes, otros no. Uno prefiere dividir los parámetros de funciones en varias líneas, otro escribe todo en una sola línea. El resultado es un código heterogéneo, y las revisiones de código se convierten en debates interminables sobre estilos.
SwiftFormat resuelve exactamente este problema — una herramienta para el formateo automático de código Swift. No solo añade espacios e indentación, sino que lleva el código a un estándar unificado, corrigiendo cientos de pequeñas inconsistencias.
¿Qué puede hacer SwiftFormat?
-
Trabajo profundo de estilo:
- Corrige indentación y alineación
- Elimina espacios
selfy corchetes redundantes - Arregla el orden de los modificadores de acceso
- Unifica el estilo de declaración de closures
-
Configuración flexible:
- Más de 50 reglas de formateo
- Soporte para archivos de configuración
.swiftformat - Posibilidad de crear reglas personalizadas
-
Integración en cualquier lugar:
- Línea de comandos para ejecución manual
- Plugins para Xcode, VSCode, Sublime Text
- Hooks pre-commit de Git
- Soporte para CI/CD mediante GitHub Actions
// До форматирования
func processData(data:[String:Any], completion:(Result)->Void){
guard let value=data["key"] else{return}
self.completion(.success(value))
}
// После SwiftFormat
func processData(
data: [String: Any],
completion: (Result) -> Void
) {
guard let value = data["key"] else { return }
completion(.success(value))
}
¿Cómo empezar?
Instalación mediante Homebrew:
brew install swiftformat
Uso básico:
# Форматировать все файлы в текущей директории
swiftformat .
# Только проверить стиль без изменений (линтер)
swiftformat --lint .
Para proyectos, se recomienda añadir SwiftFormat como un paso de compilación en Xcode o un hook pre-commit en Git. De esta manera, el código se formateará automáticamente antes de cada commit.
Flexibilidad en la configuración
SwiftFormat entiende que cada proyecto tiene sus propios requisitos de estilo. Puedes:
- Desactivar reglas individuales mediante
--disable - Crear un archivo
.swiftformaten la raíz del proyecto - Configurar el comportamiento para archivos específicos mediante comentarios
Ejemplo de configuración:
# .swiftformat
--indent 4
--disable trailingCommas
--enable isEmpty
--header "Copyright (c) {year} MyCompany"
¿Por qué probarlo?
- Ahorro de tiempo — ya no dediques horas al formateo manual
- Estilo consistente — olvídate de los debates del equipo sobre dónde colocar los corchetes
- Historial de git limpio — menos commits de "estilo"
- Enfoque en la lógica — concéntrate en lo que realmente importa
SwiftFormat es especialmente útil para:
- Equipos de 2 o más desarrolladores
- Proyectos con una larga historia de desarrollo
- Revisiones de código frecuentes
- Mantener la calidad de proyectos de código abierto
Bajo el capó
El proyecto se ha desarrollado activamente desde 2016, tiene más de 8.5k estrellas en GitHub y es compatible con todas las versiones actuales de Swift. Bajo el capó hay un potente parser de código Swift y un sistema de reglas que puedes combinar como bloques de LEGO.
# Показать все доступные правила
swiftformat --rules
# Информация о конкретном правиле
swiftformat --rule-info redundantSelf
Alternativas
- SwiftLint: Más enfocado en encontrar problemas de código que en el formateo
- Scripts personalizados: Requieren mantenimiento y suelen ser menos flexibles
La principal ventaja de SwiftFormat es que no solo encuentra problemas — los corrige inmediatamente.
SwiftFormat no es solo "otra herramienta" — es un verdadero salvavidas para equipos cansados de las correcciones interminables de estilo. Se encarga de todo el trabajo rutinario de formateo, permitiéndote concentrarte en resolver problemas reales.
Prueba a añadirlo a tu flujo de trabajo — verás resultados después de la primera ejecución. Tu código será más limpio y tu vida — más fácil.