Agregaron soporte para Swift 4.2, hicieron Generar y navegar para determinar el tipo de Swift, mejoraron el formato, admitieron extensiones de iOS en el depurador, comenzaron a funcionar mejor en proyectos con varios objetivos, y también hicieron un montón de características interesantes y útiles.

Veloz
Admitió todas las características de la versión 4.2 que podrían afectar el IDE:
- SE-0192 (Manejo de futuros casos de enumeración)
- SE-0193 (línea cruzada de módulos y especialización)
- SE-0194 (Colección derivada de casos Enum)
- SE-0195 (Tipos de "búsqueda dinámica de miembros" definidos por el usuario)
- SE-0196 (Directivas de diagnóstico del compilador)
- SE-0212 (Directiva de versión del compilador)
Si todavía te perdiste algo, asegúrate de escribir en los comentarios. Y sobre Swift 5 puedes leer aquí .
Generación
Hicimos todas las acciones de generación estándar que Objective-C tiene: inicializadores, description
/ description
debugDescription
, hashValue
y el operador de comparación:

Para todas las acciones, excepto el inicializador, también puede seleccionar la plantilla utilizada para la generación.
Tipo Definición Navegación
Aquí todo es simple: ⇧⌘B
e inmediatamente obtenga la definición de tipo:

Punto de salida de iluminación
Aprendimos a resaltar los puntos de salida configurando el cursor para break
, continue
, try
, throw
o return
:

Formateo
En casi todas las versiones, estamos mejorando algo en el motor de formato, esto es lo que hicimos en esto:
- corrigió la sangría para literales de cadena de varias líneas:

- configuración de formato de código agregado dentro de las directivas de preprocesador:

- hizo posible cambiar la alineación de expresiones con el operador ternario en
Preferences | Editor | Code Style | Swift | Wrapping and Braces | Ternary conditional operation
Preferences | Editor | Code Style | Swift | Wrapping and Braces | Ternary conditional operation
Soporte Swift Package Manager en CLion
Con CLion, no solo tenemos soporte general de C / C ++, sino también soporte general de Swift. Durante mucho tiempo, el complemento, que agrega soporte para proyectos SPM en CLion, usó CMake como modelo de proyecto. Este año decidieron que ya no era posible vivir así, era incómodo de usar, y apoyaron SPM directamente. Ahora puedes trabajar así:
Resultó realmente bien, solo queda finalizar la integración con las pruebas. Y teniendo en cuenta el hecho de que CLion tiene la funcionalidad WebStorm para editar HTML / JavaScript, puede trabajar con bases de datos de la misma manera que en DataGrip , hay un complemento Docker y mucho más, entendemos que ahora todavía puede escribir backends en Swift en él :
No, todavía no planeamos trabajar con SourceKit-LSP. La razón es simple: casi todo es lo que lleva consigo (y lo que todavía no lleva).
Objetivo-C / C / C ++
Proyectos objetivo múltiples
Finalmente, solucionamos problemas con resaltado y autocompletado para clases con el mismo nombre conectado a diferentes objetivos en el proyecto. También planeamos arreglar la navegación .
Cambiar firma
Anteriormente, al cambiar la firma en C / C ++, AppCode perdió los valores predeterminados de los argumentos, y ahora los procesa correctamente:

La documentación
Comenzamos a formatear sustituciones de macros en la documentación rápida ( F1
):

Multilínea TODO
En AppCode, todos los comentarios del formulario //FIXME
/ //TODO
pueden ver rápidamente a través de ⌘6
. Aquí puede configurar plantillas para sus mensajes, lo cual es conveniente:

Ahora hemos agregado compatibilidad TODO de varias líneas para Objective-C / C / C ++: es suficiente para cada línea excepto la primera para agregar una sangría:

Código mixto
Se swift_name
problemas con el cambio de nombre de construcciones de swift_name
a Objective-C y enumeraciones en Swift / Objective-C.
Rendimiento
Solucionaron los frisos al llamar a los diálogos relacionados con la ejecución de pruebas, por ejemplo Ejecutar configuraciones con configuraciones de prueba.
Lanzamiento y depuración
Extensiones IOS
AppCode ha aprendido cómo depurar extensiones de iOS, al igual que Xcode:

Consola LLDB para Swift
Arreglamos la finalización automática en la consola del depurador para Swift (para Objective-C / C / C ++ todo funcionaba así). Todos los partidarios de p
/ po
y expression
regocijan, el resto, como antes, usa la Evaluación de expresión ( ⌥F8
):

Complemento Entrenador de características IDE

A menudo escuchamos en conferencias una solicitud para dar materiales sobre la migración de Xcode a AppCode, sobre qué características del IDE necesita saber primero. Durante el proceso de lanzamiento, dimos el primer paso importante en esta dirección: agregamos una parte para Swift al Entrenador de características IDE. La conclusión es simple: instalamos el complemento, abrimos las lecciones, seguimos las instrucciones y, con ejemplos simples, vemos qué oportunidades hay, cómo usarlas y dónde encontrarlas. Recomendamos que todos vayan, incluso si ha estado usando el IDE durante mucho tiempo. Con alta probabilidad, todavía se encontrará algo nuevo y útil :).
IDE
Busca en todas partes
Búsqueda combinada en todas partes, vaya a Clase / Archivo / Símbolo / Acción:

Ejecuta cualquier cosa
Ahora cualquier configuración se puede iniciar presionando dos veces ⌃:

O abra un proyecto escribiendo open
.
Complementos
Rediseñado completamente la apariencia de la sección con complementos en el IDE:

Control de versiones
Ahora podemos trabajar con submódulos Git y mostrar convenientemente solicitudes de extracción de Github:

Tema de alto contraste
Ahora lo es, tanto para el editor como para el IDE (puede seleccionar en Preferences | Appearance & Behavior | Appearance
):

Que sigue
Planeamos dedicar la próxima versión por completo a solucionar problemas. Una excepción es el soporte para nuevas versiones de Swift. En general, más estabilidad, mejor autocompletado con navegación y retroiluminación, menos interferencia en el trabajo.
Eso es todo! Como siempre, descargue, aquí , errores, al rastreador , haga preguntas generales aquí mismo.