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

Code Insight-Verbesserungen in Delphi 10.4.2

rad studio 1042

RAD Studio 10.4.2 wurde als funktionsorientierte Fortsetzung der qualitätsorientierten Version 10.4.1 geplant. Neben einigen wichtigen Funktionen haben wir in 10.4.2 auch mehr Probleme behoben als in der vorherigen Version!

Dies gilt sowohl für Code Insight oder DelphiLSP als auch für andere Teile von Delphi 10.4.2. Schauen wir uns an, was es Neues gibt. Erstens die Funktionen …

Error Insight – jetzt Error, Warning und Hint Insight

Seit vielen Jahren können Sie feststellen, dass Codefehler vor dem Kompilieren erkannt wurden. Dies wird durch eine rote Zickzack-Unterstreichung im Code-Editor angezeigt (ein „roter Schnörkel“). Eine der großen Verbesserungen, die wir mit der Einführung von DelphiLSP vorgenommen haben In 10.4 sollte sichergestellt werden, dass diese Angaben immer korrekt sind: Es gibt eine 1: 1-Korrelation zwischen der Markierung im Code-Editor und den Compiler-Fehlern, die beim Kompilieren des Codes angezeigt werden, und allen im Editor und im Strukturbereich angezeigten Fehlern sind richtig.

In 10.4.2 haben wir dies erweitert, sodass Sie Warnungen und Hinweise auch im Code-Editor sehen können. Warnungen und Hinweise enthalten wertvolle Informationen zu Ihrem Code. Probleme, die das Kompilieren nicht verhindern, aber möglicherweise verhindern, dass Ihre App wie gewünscht ausgeführt wird. Wenn Sie diese während der Eingabe live im Editor anzeigen, erhalten Sie viel schnelleres Feedback und eine schnellere Bearbeitung, um Probleme in Ihrem Code zu beheben. Und für diejenigen, die es vorziehen, ohne Warnungen oder Hinweise zu kompilieren – ein großartiges Ziel – ist es von unschätzbarem Wert, sie inline zu sehen.

squiggly light

In 10.4.2 haben wir dies nicht standardmäßig aktiviert, sodass der Code-Editor für diejenigen, deren Code viele Warnungen und Hinweise enthält, nicht in mehreren Farben angezeigt wird. Nach dem ersten Kundenfeedback können wir es standardmäßig in 10.5 aktivieren! Für diese Version können Sie sie jedoch auf der Seite IDE-Optionen> Benutzeroberfläche> Editor> Sprache, Registerkarte ‚Error Insight‘, Kombinationsfeld ‚Error Insight Display‘ aktivieren:

error insight options trimmed

Sie können steuern, welche Error Insight-Ebenen angezeigt werden und welche andere Error Insight-Benutzeroberfläche angezeigt wird

Auf dieser Registerkarte können Sie wählen, ob Folgendes angezeigt werden soll: nur Fehler; Fehler und Warnungen; oder Fehler, Warnungen und Hinweise. Wir empfehlen, alle drei einzuschalten.

Editor-Rendering und andere Probleme beim Benennen

‚Error Insight‘ ist ein großartiger Name – außer jetzt könnte er wirklich als Error, Warning und Hint Insight bezeichnet werden. (Nein, wir haben nicht geändert, wie wir auf die Funktion verweisen.)

Ein anderer großer Name war „rote Kringel“ … außer das ist jetzt „rote, bernsteinfarbene und blaue Kringel“. Aber das ist nicht alles. Jetzt sind sie vielleicht gar keine Kringel mehr! Die Abteilung für die Benennung von Dingen, die hier bei Embarcadero wirklich gut sind, ist mit all den neuen Funktionen, die wir Ihnen mit dieser Version zur Verfügung stellen, ziemlich unzufrieden. Schau dir das an:

10 4 2 error insight underlines

In 10.4.2 möchten wir sicherstellen, dass die Markierungen des Code-Editors klar und leicht erkennbar sind. Außerdem wissen wir, dass unsere Kunden die IDE häufig an ihre eigenen Vorlieben anpassen möchten. Aus diesen Gründen haben wir vier verschiedene Möglichkeiten, die Unterstreichung zu rendern: den traditionellen Zickzack, aber auch eine gekrümmte Welle (wie andere IDEs), eine Punktlinie (mein persönlicher Favorit, da ich denke, dass sie zurückhaltend und elegant ist, aber immer noch klar und darauf besteht Ich überdenke überhaupt keine Analyse von ein paar Pixeln und eine solide Unterleiste. Wir hoffen, dass Ihnen die Konfiguration Spaß macht, und insbesondere, wenn Sie Probleme mit einem hochauflösenden Monitor oder Sehvermögen haben, finden Sie den Markierungsstil, der Ihren Anforderungen entspricht.

Wir zeigen auch ein Symbol in der Editor-Rinne. Dies macht es einfach, Fehler, Warnungen oder Hinweise beim schnellen Scrollen zu erkennen. Wie die anderen Änderungen hier kann dies gesteuert oder vollständig ausgeschaltet werden, wenn Sie dies wünschen.

Einblicke in die Statusleiste des Editors und in die QuickInfos

Wenn Sie genügend horizontalen Raum haben, gibt Ihnen die Statusleiste am unteren Rand des Code-Editors jetzt einen Überblick über die Anzahl der Fehler, Warnungen und Hinweise in der aktuellen Einheit.

error insight in status bar

Wenn Sie mit der Maus über einen Fehler (oder eine Warnung oder einen Hinweis) fahren, haben wir auch die Anzeige optimiert.

error insight tooltip

LSP-Serveraktivität

Haben Sie sich jemals gefragt, was die Code Insight-Engine tut, was sie verarbeitet und wann sie möglicherweise bereit ist, Ergebnisse zu liefern? In 10.4.2 listet eine kleine Leiste am unteren Rand der Projektansicht die Aktivität des LSP-Servers auf.

Vererbt

Im März 2015, über ein Jahr bevor ich zu Embarcadero kam und zu einer Zeit, als ich keine Ahnung hatte, dass ich eines Tages hier arbeiten könnte, geschweige denn für diesen Teil von Delphi verantwortlich sein könnte, gab ich die Qualitätsportal-Funktionsanforderung RSP-10217 ein . Es ist ein beliebter QP-Bericht mit 117 Stimmen und 41 Beobachtern. Die Anforderung bestand darin, Strg + Klick zu erweitern, wodurch zur Deklaration eines Symbols navigiert wird, damit Sie bei gedrückter Strg + Klick-Taste auf das geerbte Schlüsselwort klicken können.

Ich freue mich sehr sagen zu können, dass diese Funktion in 10.4.2 implementiert ist. Sie können Strg + Klicken Sie auf das Schlüsselwort ‚geerbt‘ und, wenn Sie mit einer Methode wie ‚geerbt erstellen‘ qualifiziert sind, auch Strg + Klicken Sie auf den Methodennamen, der auch als Navigation zu dieser geerbten Methode verstanden wird.

10 4 2 ctrl click inherited

Warum ist das so eine nützliche Ergänzung? Das Navigieren zu einem definierten Ort ist sehr hilfreich, um mehr darüber zu erfahren und herauszufinden, was es tut. Deshalb ist Strg + Klicken im Allgemeinen hilfreich. Die Funktionalität wurde jedoch nur für Symbolnamen verwendet. Wenn Sie eine geerbte Methode aufrufen oder mit anderen Worten die Implementierung in einer Vorgängerklasse aufrufen, möchten Sie auch dazu navigieren können, um herauszufinden, was sie bewirkt. Dies ist in der Tat sehr nützlich, da Sie sich innerhalb einer Vererbung bewegen Hierarchie ist wichtig für das Verständnis Ihres objektorientierten Codes. Früher gab es keine Möglichkeit, die geerbte Methode zu finden. Jetzt gibt es da!

Abschließend werden beim Code, der nach dem Schlüsselwort ‚geerbt‘ vervollständigt wird, nur noch Methoden aus Vorfahrenklassen aufgelistet.

… Und Qualität!

Alle oben genannten sind neue Funktionen, manchmal wirklich nette neue Funktionen. Aber wie ich zu Beginn dieses Beitrags erwähnt habe, war 10.4.2 auch eine großartige Qualitätsversion. Für DelphiLSP bedeutete dies manchmal, Fehler zu beheben. Es bedeutet aber auch, die Funktionen zu überarbeiten – zu optimieren, anzupassen, sicherzustellen, dass sie in weniger gängigen Szenarien funktionieren, das Verhalten basierend auf Feedback zu ändern und vieles mehr. Hier ist eine Liste nur einiger Korrekturen, Optimierungen, Änderungen, Anpassungen und Verbesserungen, die wir DelphiLSP in dieser Version hinzugefügt haben.

  • Code-Vervollständigungsfunktionen in IFDEF-Blöcken für integrierte Makros, die der Compiler in bestimmten Situationen definiert hat, z. B. UNICODE oder MSWINDOWS
  • 10 4 2 completing uses clauseViele Verbesserungen, welche Einheiten beim Vervollständigen von Code in der Verwendungsklausel angezeigt werden (es werden auch .pas- und .dcu-Dateien in den Such- und Projektpfaden angezeigt; Sie können DCUs deaktivieren, wenn Sie dies in den Projektoptionen auf Plattformebene benötigen). ;; Außerdem wird eine Einheit ’stem‘ (wie ‚Winapi‘ in ‚Winapi.Windows‘) aufgelistet. Es zeigt Ihnen sogar an, wann eine Einheit, die Sie fertigstellen, bereits in der Verwendungsklausel enthalten ist!
  • Viele Verbesserungen der Überlastungsauflösung, die sichtbar werden, wenn Sie bei gedrückter Strg-Taste auf eine überladene Methode klicken oder Parameter Insight anzeigen, wenn eine Methode mehrere Überladungen aufweist
  • Wenn Sie bei gedrückter Strg-Taste auf eine Methodenimplementierung klicken, wird deren Deklaration aufgerufen und umgekehrt. Die Strg + Klick-Navigation funktioniert auch bei Aufrufen instanziierter generischer Methoden, in vielen Fällen bei Symbolen in falschem (nicht kompilierbarem) Code. und auf das Argument des eingebauten Ausgangs; plus Verbesserungen bei der Verwendung in einer Verwendungsklausel
  • Viele Verbesserungen für Generika, einschließlich des Abschlusses in generischen Klassen mit strengen privaten / geschützten Symbolen; Suchen von Deklarationsfindungsfeldern und -eigenschaften in generischen Typen; generische Methoden in einer anderen Einheit finden; und mehr
  • Viele Verbesserungen vervollständigen und navigieren zu: Attributen; Gültigkeitsbereichsaufzählungen (sie zeigen die Aufzählung an und vervollständigen sie mit ihrem Gültigkeitsbereich); Auflisten von Ressourcenzeichenfolgen; Navigieren zu Eigenschaften und Property Getter / Setter; und mehr
  • Verbesserungen der Dokumentationsanzeige, einschließlich der Anzeige von XMLDoc während der Parametervervollständigung
  • Viele Leistungsverbesserungen. Sogar die ausführbare Datei ist jetzt kleiner.

Und das ist es nicht – es gibt viele, viele weitere Optimierungen, Änderungen und Qualitätskorrekturen in ganz DelphiLSP. Das Obige ist vielleicht ein Viertel der Liste, und Sie werden feststellen, dass viele Punktpunkte mehrere Elemente abdecken. Jeder hat andere Elemente – es gibt mehr Verbesserungen bei der Handhabung von .pas und .dcu, die beispielsweise nicht erwähnt werden, oder weitere Verbesserungen bei der Vervollständigung von Parametern oder Verbesserungen bei der Einfügung von Text durch die IDE oder…

Der Eindruck, den ich mitteilen möchte, ist, wie viel in 10.4.2 überarbeitet und verbessert wurde. Viele der oben genannten Punkte werden Sie möglicherweise nicht bemerken: Es handelt sich um subtile Verbesserungen. Der allgemeine Sinn ist, dass die Code-Vervollständigung und die zugehörigen Funktionen nur dann funktionieren, wenn Sie dies erwarten, wie Sie es erwarten.

Überblick

10 4 2 ctrl click inheritedCode Insight in Delphi und RAD Studio 10.4.2 enthält nicht nur einige wirklich nützliche neue Funktionen, einschließlich häufig angeforderter – Warnungen und Hinweise im Editor! Strg + Klick auf ‚geerbt‘! Sehen Sie, was der LSP-Server tut! – Das gesamte Feature hat viele Qualitätsrevisionen. Das Feedback, das wir bisher erhalten haben, war sehr positiv und wir empfehlen Ihnen dringend, 10.4.2 so bald wie möglich zu installieren.

Dev Days of Summer 2-24

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

Kommentieren

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

IN THE ARTICLES