Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
DelphiIDENoticias

Mejoras de Code Insight en Delphi 10.4.2

rad-studio-1042

RAD Studio 10.4.2 se planeó como un seguimiento centrado en funciones del lanzamiento centrado en la calidad de 10.4.1. Sin embargo, además de ofrecer algunas funciones importantes, también solucionamos más problemas en 10.4.2 que en la versión anterior.

Esto se aplica tanto a Code Insight, o DelphiLSP, como a otras partes de Delphi 10.4.2. Echemos un vistazo a las novedades. Primero, las características …

Error Insight: ahora Error, Advertencia y Sugerencia Insight

Durante muchos años, ha podido ver los errores de código detectados con anticipación antes de compilar, que se muestran a través de un subrayado en zigzag rojo en el editor de código (un ‘ondulado rojo’). Una de las grandes mejoras que hicimos con la introducción de DelphiLSP en 10.4 era para asegurarse de que estas indicaciones fueran siempre correctas: hay una correlación 1: 1 entre el marcador en el editor de código y los errores del compilador que vería si compilara el código, y todos los errores mostrados en el editor y el panel Estructura son correctos.

En 10.4.2 hemos ampliado esto para que también pueda ver advertencias y sugerencias en el editor de código. Las advertencias y sugerencias brindan información valiosa sobre su código, problemas que no impedirán la compilación pero pueden impedir que su aplicación se ejecute de la manera deseada. Mostrarlos en vivo en el editor a medida que escribe le brinda retroalimentación y respuesta mucho más rápidas para solucionar problemas en su código. Y para aquellos que prefieren compilar sin advertencias o pistas, un gran objetivo, verlos en línea será invaluable.

squiggly_light

En 10.4.2, no habilitamos esto de forma predeterminada, por lo que el editor de código no estaría cubierto en varios colores para aquellos cuyo código tiene muchas advertencias y sugerencias. Después de los comentarios iniciales de los clientes, ¡podemos activarlo de forma predeterminada en 10.5! Pero para esta versión, puede activarlo en Opciones de IDE> Interfaz de usuario> Editor> Página de idioma, pestaña ‘Error Insight’, cuadro combinado ‘Error Insight Display’:

error-insight-options-trimmed

Puede controlar qué niveles de Error Insight se muestran y qué otra interfaz de usuario de Error Insight se muestra

Esta pestaña le permite elegir entre ver: solo errores; errores y advertencias; o errores, advertencias y sugerencias. Le recomendamos que active la visualización de los tres.

Representación del editor y otros problemas de nomenclatura

‘Error Insight’ es un gran nombre, excepto que ahora realmente podría llamarse Error, Warning y Hint Insight. (No, no hemos cambiado la forma en que nos referimos a la función).

Otro gran nombre era ‘garabatos rojos’ … excepto que ahora es ‘garabatos rojos, ámbar y azules’. Pero eso no es todo. ¡Ahora puede que ni siquiera sean garabatos! El Departamento de Nombrar Cosas Realmente Bien aquí en Embarcadero está bastante descontento con todas las nuevas funciones que le brindamos con esta versión. Mira esto:

10-4-2-error-insight-underlines

En 10.4.2, queremos asegurarnos de que los marcadores del editor de código sean claros y fáciles de ver, además sabemos que a nuestros clientes a menudo les gusta personalizar el IDE según sus propias preferencias. Por esas razones, tenemos cuatro formas diferentes de representar el subrayado: el zigzag tradicional, pero también una onda curva (como otros IDE), una línea de puntos (mi favorito personal, ya que creo que es sobrio y elegante pero aún claro, e insisto No estoy pensando demasiado en un análisis de unos pocos píxeles) y una barra inferior sólida. Esperamos que disfrute configurando esto, y especialmente si tiene un monitor de alta resolución o problemas de visión, encontrará el estilo de marcador que se adapta a sus necesidades.

También mostramos un icono en el canal del editor. Esto facilita la detección de errores, advertencias o sugerencias cuando se desplaza rápidamente. Al igual que los otros cambios aquí, esto puede controlarse o desactivarse por completo si lo desea.

Información sobre la barra de estado del editor y la información sobre herramientas

Si tiene suficiente espacio horizontal, la barra de estado en la parte inferior del editor de código ahora le dará una descripción general del número de errores, advertencias y sugerencias en la unidad actual.

error-insight-in-status-bar

Si pasa el mouse sobre un error (o advertencia o sugerencia), también modificamos la forma en que se muestra.

error-insight-tooltip

Actividad del servidor LSP

¿Alguna vez se ha preguntado qué está haciendo el motor de Code Insight, qué está procesando y cuándo podría estar listo para dar resultados? En 10.4.2, una pequeña barra en la parte inferior de la vista Proyectos enumera la actividad del servidor LSP.

Heredado

En marzo de 2015, más de un año antes de unirme a Embarcadero y en un momento en el que no tenía idea de que podría trabajar aquí algún día, y mucho menos ser responsable de esta parte de Delphi, ingresé a la solicitud de función del portal de calidad RSP-10217 . Es un informe de QP popular con 117 votos y 41 observadores. La solicitud fue extender Ctrl + Click, que navega a la declaración de un símbolo, para permitirle Ctrl + Click en la palabra clave ‘heredada’.

Estoy muy feliz de decir que en 10.4.2 esta función está implementada. Puede Ctrl + clic en la palabra clave ‘heredado’ y, si está calificado con un método como ‘crear heredado’, también Ctrl + clic en el nombre del método, que también se entenderá como navegar a ese método heredado.

10-4-2-ctrl-click-inherited

¿Por qué es esta una adición tan útil? Navegar hasta donde se define algo es muy útil para aprender sobre él y descubrir lo que hace, y es por eso que Ctrl + Click en general es útil. Pero la funcionalidad solía funcionar solo en nombres de símbolos. Cuando invoca un método heredado, o en otras palabras, invoca la implementación en una clase ancestral, eso también es algo a lo que desea poder navegar para descubrir qué hace: de hecho, esto es muy útil porque moverse dentro de una herencia La jerarquía es importante para comprender su código orientado a objetos. No solía haber forma de encontrar el método heredado. ¡Ahora hay!

En un toque final, el código que se completa después de la palabra clave ‘heredada’ ahora solo enumerará los métodos de las clases ancestrales.

… ¡y calidad!

Todas las anteriores son características nuevas, a veces características nuevas realmente interesantes. Pero como mencioné al comienzo de esta publicación, 10.4.2 también fue una versión de gran calidad. Para DelphiLSP, a veces esto ha significado corregir errores. Pero también significa revisar funciones: ajustar, ajustar, garantizar que funcionen en escenarios menos comunes, cambiar el comportamiento en función de los comentarios y más. Aquí hay una lista de algunas de las correcciones, ajustes, cambios, ajustes y pulidos que hemos agregado a DelphiLSP en esta versión.

  • Funciones de finalización de código en bloques IFDEF para macros incorporadas que el compilador ha definido en algunas situaciones, como UNICODE o MSWINDOWS
  • 10-4-2-completing-uses-clauseMuchas mejoras en las unidades que se muestran cuando se completa el código en la cláusula de usos (también mostrará los archivos .pas y .dcu en las rutas de búsqueda y proyecto; puede deshabilitar las DCU si lo necesita en las Opciones del proyecto en un nivel por plataforma) ; más una unidad ‘raíz’ (como ‘Winapi’ en ‘Winapi.Windows’) también aparece en la lista; ¡incluso le indica cuando una unidad que está completando ya está en la cláusula de usos!
  • Muchas mejoras en la resolución de sobrecargas, que serán visibles al presionar Ctrl + clic en un método sobrecargado, o mostrar Parameter Insight cuando hay múltiples sobrecargas para un método
  • Ctrl + clic en la implementación de un método irá a su declaración y viceversa. La navegación Ctrl + Click también funciona para llamadas a métodos genéricos instanciados, en muchos casos en símbolos en código incorrecto (no compilable); y en el argumento incorporado de la salida; además de mejoras al usarlo en una cláusula de usos
  • Muchas mejoras para genéricos, incluida la finalización en clases genéricas que muestran símbolos estrictamente privados / protegidos; buscar campos y propiedades de búsqueda de declaraciones en tipos genéricos; encontrar métodos genéricos en otra unidad; y más
  • Muchas mejoras que completan y navegan a: atributos; enumeraciones con ámbito (mostrarán y completarán la enumeración con su ámbito); enumerar cadenas de recursos; navegar a propiedades y captadores / definidores de propiedades; y más
  • Mejoras en la visualización de la documentación, incluida la visualización de XMLDoc durante la finalización de los parámetros
  • Muchos ajustes de rendimiento. Incluso el ejecutable tiene un tamaño más pequeño ahora.

Y eso no es todo: hay muchos, muchos más ajustes, cambios y correcciones de calidad en todo DelphiLSP. Lo anterior es quizás una cuarta parte de la lista, y notará que muchos puntos cubren varios elementos. Cada uno tiene otros elementos: hay más ajustes para manejar la búsqueda de .pas y .dcu, por ejemplo, que no se mencionan, o más ajustes sobre la finalización de parámetros, o ajustes sobre cómo el IDE inserta texto, o …

La impresión que me gustaría comunicar es lo mucho que se ha revisado y mejorado en 10.4.2. Es posible que no note muchos de los elementos anteriores: son mejoras sutiles. El sentido general es que la finalización del código y las características relacionadas funcionan cuando se espera que lo hagan, como se espera.

Visión de conjunto

10-4-2-ctrl-click-inheritedCode Insight en Delphi y RAD Studio 10.4.2 no solo vienen con algunas características nuevas realmente útiles, incluidas las solicitadas comúnmente: ¡advertencias y sugerencias en el editor! Ctrl + clic en ‘heredado’! ¡Vea lo que está haciendo el servidor LSP! – toda la función tiene muchas revisiones de calidad. Los comentarios que hemos recibido hasta ahora han sido muy favorables y le recomendamos encarecidamente que instale 10.4.2 lo antes posible.


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

IN THE ARTICLES