AppCode 2019.1: Swift 5, retroiluminación mejorada, navegación y autocompletado, expresiones móviles y mucho más

Hola a todos!


Hace una semana, lanzamos AppCode 2019.1, hablemos de los cambios en él. Debajo del corte un montón de nuevos, útiles, corregidos y complementados.


Salpicadura



Veloz


Swift 5


Todas las nuevas características de Swift 5 funcionan correctamente en AppCode 2019.1:



Renombrar


Hubo un problema al cambiar el nombre de los métodos sobrecargados y los métodos de la clase principal, pero ahora no existe.


Navegación de definición


Parece que podría ser más simple y más elemental para la transición a la definición de un método o clase? Acción estándar y familiar.


Y todo esto es cierto en Objective-C: el nombre del tipo está separado al inicializar el objeto, el método de inicialización está separado. En consecuencia, si el cursor está en el nombre del tipo, procedemos a la definición del tipo, si está en el inicializador, a la definición del inicializador. Pero en Swift, las cosas se ponen más complicadas. El inicializador se fusionó con el nombre del tipo, y si reproducimos el comportamiento de Xcode, perdemos la capacidad de cambiar al inicializador. Si dejamos el comportamiento de AppCode 2018.3.x, rompemos el hábito del usuario ("como en Xcode", es decir, la transición no a la definición de inicializador, sino a la definición de tipo). Por razones obvias, a los usuarios no les gusta.


Como resultado, desarrollamos una solución intermedia: después de todo, la expresión que inicializa el objeto en Swift todavía consta de dos partes. Todo antes de los paréntesis es un nombre de tipo, y todo lo que está dentro es una firma inicializadora. Por lo tanto, si el cursor está en el nombre del tipo, procedemos a la definición del tipo, si está entre paréntesis, a la definición del inicializador:


Ir a declaracion


Ambos casos de uso se guardan, todos están contentos.


Expresiones en movimiento


Mientras que los usuarios de Xcode seleccionan con el mouse y copian y pegan, los usuarios de AppCode colocan el cursor sobre la expresión y la mueven completamente con un ligero clic ⇧⌘↑ / :


Declaración de movimiento


Funciona para bucles, funciones, métodos, clases, condiciones, en general, para casi todo.


Literales multilínea


¿Cómo convertir un literal de una sola línea en varias líneas? En AppCode, simplemente haga clic en :


Cuerdas multilínea


Luz de fondo, autocompletado, análisis de código y todo-todo-todo


Cuanto más correctamente construyamos el árbol de símbolos, que se utiliza para resaltar, análisis de código, navegación y otras funciones IDE (incluso para mostrar variables en el depurador), mejor y más correctamente funcionará el AppCode. En esta versión, resolvimos varios problemas fundamentales que estropearon la vida de los usuarios:


  • Comenzamos a construir símbolos de biblioteca para simuladores y dispositivos. Anteriormente, se construían solo para el simulador.
  • Una vez hecho esto, comenzaron a determinar correctamente la plataforma actual (simulador / dispositivo) y transfirieron correctamente su anotador de clanes a Objective-C y SourceKit a Swift. ¿Por qué es esto importante? Por ejemplo, SourceKit no mostrará errores y advertencias si es incorrecto que pase la carpeta con los productos de ensamblaje en los argumentos. Este problema debería desaparecer.
  • Comenzamos a procesar correctamente DerivedSources y todas las fuentes generadas en esta carpeta (Core Data, Intents).

Objetivo-C / C / C ++


Los colegas de CLion agregaron estilos de nombres de construcción de código para C / C ++, y también los obtuvimos para Objective-C ( Preferences | Editor | Code Style | C/C++/Objective-C | Naming Convention) :


Convención de nomenclatura


Lanzamiento y depuración


AppCode ahora puede unir procesos que se ejecutan no solo en el simulador, sino también en el dispositivo ( ⇧⌘AAttach to process ):


Adjuntar al proceso


Se agregó la capacidad de seleccionar el idioma y la región de la aplicación en la configuración de inicio:


Idioma de aplicación y región


Se puede ejecutar Run to Cursor no solo a través de ⌥F9 , sino también haciendo clic en el número de línea en el editor:


Variables mudas


El recálculo de variables durante la depuración ahora se puede desactivar utilizando la acción Silenciar variables en el menú contextual:


Variables mudas


Temas para el IDE


Un lector atento ya se dio cuenta de que todas las capturas de pantalla de la publicación se realizaron con el nuevo tema Dark Purple :


Tema púrpura oscuro


Los temas IDE ahora se pueden hacer por su cuenta , por lo que, además de varios temas creados por nosotros, ya puede encontrar varias opciones de diseño personalizado en el repositorio de complementos . Y hasta el 3 de mayo, no solo puedes crear tu propio tema, sino también participar en un concurso recientemente anunciado por nosotros.


Lista de fragmentos de código vistos / modificados recientemente


Hay varios pasos útiles para navegar a lugares recientemente abiertos o modificados en su código:


  • Archivos recientes ( ⌘E )
  • Switcher ( ⌃⇥ )
  • Saltar a la última ubicación de edición ( ⇧⌘⌫ )

Pasar a la última sección editada del código es generalmente difícil de sobreestimar, especialmente al editar un archivo grande.


Ahora también hay una lista de lugares vistos / cambiados recientemente de ubicaciones recientes ( ⇧⌘E ):


Ubicaciones recientes


Este es el lanzamiento. Escriba todas las preguntas, deseos e incluso informes de errores aquí en los comentarios, ¡estaremos encantados de responder!


AppCode Team

Source: https://habr.com/ru/post/448462/


All Articles