KI-gestützte Erklärungen für Java-Ausdrücke jetzt in VS Code verfügbar

AI-Powered Explanation of Java Expressions Now Available On VS Code, Concept art for illustrative purpose, tags: für code extension - Monok

Microsoft hat ein Update für sein Visual Studio Code Extension Pack für Java veröffentlicht, das Funktionen enthält, die von künstlicher Intelligenz (KI) unterstützt werden.

Das neue Update bringt mehrere Verbesserungen für das Extension Pack für Java, eine Sammlung von Tools, die Sprachunterstützung, Debugging, Testen und mehr bieten.

KI-gesteuerte Erklärung von Spring-Ausdrücken

Eine bemerkenswerte Funktion in diesem neuesten Update ist die Integration von GitHub Copilot AI, der verschiedene Arten von Ausdrücken erklären kann, die im Spring-Framework verwendet werden.

Dazu gehören SpEL-Ausdrücke, Abfrageanweisungen und AOP-Pointcut-Ausdrücke, wobei jedes Konzept ausführlich erklärt wird.

Laut Microsoft ist die entsprechende Eingabeaufforderung so gestaltet, dass sie eine Zusammenfassung gefolgt von einer detaillierteren Erklärung bietet, was es für Entwickler einfacher macht, komplexe Codekonzepte zu verstehen.

Verbesserte Java-Werkzeuge in VS Code

Zusätzlich zu den KI-gestützten Erklärungen enthält dieses Update auch einige andere Verbesserungen des Extension Packs für Java.

Dazu gehören die Syntaxhervorhebung und Validierung von CRON-Ausdrücken, die in Annotationen verwendet werden, sowie neue Inlay-Hinweise für Abfrageparameternamen.

Das Update verbessert auch die Unterstützung für verschiedene Spring-Annotationen und bietet Funktionen wie Autovervollständigung, Go-to-Definition und Find References.

Unterstützung für Android und Gradle

Eine weitere wichtige Funktion dieses Updates ist die Hinzufügung der Unterstützung von Android-Build-Varianten zur Gradle-Erweiterung.

Entwickler können nun verschiedene Anwendungstypen von einem einzigen Projekt aus konfigurieren, was die Verwaltung komplexer Android-Projekte erleichtert.

Das Update enthält auch eine verbesserte hierarchische Baumstruktur für die Anzeige der Projektstruktur im Gradle Task Explorer.

Das neueste Update von Microsoft hat die Fähigkeiten des Visual Studio Code Extension Packs auf ein neues Niveau gehoben und macht es zu einer noch leistungsfähigeren Plattform für die Java-Entwicklung, in der Entwickler nun KI-gestützte Erklärungen und zahlreiche andere fortschrittliche Funktionen nutzen können, um ihren Workflow zu optimieren.

Java-Testprozesse – Teil 2

java-tasten

 Schritt 3: Erstes Design

Nachdem wir die Grammatik aus RFC 2396 vereinfacht haben, ohne die Semantik zu ändern, erhalten wir die folgende Grammatik:

Alle Grammatikvariablen, die dem Kunden zur Verfügung stehen sollen, sind mit ‚(s)‘ gekennzeichnet. Die erste Idee, einen Parser durch Erstellen einer Methode für jede linke Seite (LHS) zu implementieren, kann jetzt verfeinert werden. Der letzte Regelblock beschreibt Zeichensätze.

Diese können von den übrigen Regeln getrennt werden, wenn die rechte Seite (RHS) Variablen enthält, die keine Zeichenklassen sind oder eine LHS haben, deren Wert gespeichert werden soll.

Nach unseren bisherigen Kenntnissen können wir folgende Kurse planen:

URL.java: Enthält alle Teile einer URL, die in Teile zerlegt sind.
Parser.java: Realisiert alle Regeln mit Nicht-Zeichenklassenvariablen in ihrer RHS.
URLCharacter.java: Enthält Methoden zur Unterscheidung der Zeichenklassen.

Diese Klasse realisiert die meiste Arbeit der lexikalischen Analyse von URL-Strings.
InvalidURLException: Wird ausgelöst, wenn der Parser eine URL-Zeichenfolge nicht erfolgreich analysiert.

Mit der Grammatik und den Namen der Klassen, die wir verwenden möchten, haben wir die ersten Schritte des Designs unternommen. Nun fahren wir fort und erstellen ein Together-Projekt und erste UML-Diagramme. Wenn Sie es vorziehen, JUnit und JUnitX manuell zu verwenden, können Sie den nächsten Abschnitten folgen, ohne Together auszuführen. Es werden Snapshots aller Dateien für jeden Lernschritt bereitgestellt, einschließlich aller erforderlichen Standalone-Build-Dateien.

Schritt 4: Projekteinrichtung

Wenn Sie ein erfahrener Together-Benutzer sind, können Sie die Projektschnappschüsse des Lernprogramms verwenden, die mit den Quelldistributionen JUnitX und XPTest (Pfadbeispiel) verfügbar sind, und diesen Teil des Lernprogramms überspringen.

Die Projektdateien von Together arbeiten unabhängig vom Speicherort des Projektpfads. Sie verweisen jedoch auf das JDK, sodass Sie möglicherweise die Projektdatei bearbeiten müssen, um den Speicherort Ihres JDK wiederzugeben.

Sie können auch Code aus Anhang B einfügen, um Arbeit zu sparen.

Für diejenigen, die noch nie viel mit Together gearbeitet haben, sind hier meine empfohlenen Schritte, um ein neues Projekt einzurichten.

Stellen Sie sicher, dass Sie eine geeignete JDK- und Together-Version installiert haben (Einzelheiten finden Sie in Anhang A).

Erstellen Sie eine Verzeichnisstruktur

Erstellen Sie nach dem Erstellen eines Projektverzeichnisses ’src‘ und ‚diagrams‘ als Unterverzeichnisse.
Starten Sie den ‚New Project Expert‘
Starten Sie Together und wählen Sie im Menü Datei von Together die Option ‚Neuer Projekt-Experte …‘, um ein Beispielprojekt zu erstellen.

Klicken Sie auf ‚Weiter>‘ und

Wählen Sie den Quellpfad

Geben Sie hier das Unterverzeichnis ’src‘ Ihres Projektpfads ein:

Diagrammpfad auswählen

Wählen Sie im nächsten Dialogfeld „Nein, ich möchte sie trennen“, um UML-Diagrammbilder in einem separaten Pfad zu platzieren.
Diagrammpfad auswählen
Im folgenden Dialog können Sie das Unterverzeichnis ‚diagrams‘ Ihres Projektpfads eingeben, um die UML-Diagramme dort abzulegen.
Wählen Sie den ersten Diagrammtyp
Behalten Sie im nächsten Dialogfeld die vorgeschlagenen Einstellungen bei: ‚Klasse‘ ist der ursprüngliche Diagrammtyp und die Option ‚Paketabhängigkeiten anzeigen‘ ist ausgewählt.
Archive importieren (nur Together 5.0 und älter)
JUnitX und XPTest sind in Together 5.5 und höheren Versionen enthalten. Für ältere Releases müssen Sie JUnitX zur Liste der erforderlichen Archive im letzten Dialogfeld hinzufügen, indem Sie auf die Schaltfläche „Zip / Jar hinzufügen“ klicken:

Wenn JUnitX in diesem Dialogfeld nicht aufgeführt ist, erstellt Together Testfälle mit einer fehlenden übergeordneten Klasse. Daher werden sie später von XPTest nicht kompiliert oder erkannt.
Wenn Sie fertig sind, klicken Sie auf ‚Fertig stellen‘, um das Projekt zu erstellen.

Jetzt können wir die ersten UML-Diagramme erstellen. Da meine Domain extreme-java.de ist, befindet sich jeder Code im Paket de.extremejava.

Da nicht alle Klassen öffentlich sein müssen, werden die parserbezogenen Klassen in einem Unterpaket namens url abgelegt. Erstellen Sie die erforderlichen UML-Elemente mithilfe der folgenden Schritte:

Erstellen Sie das Paket de.extremejava.url

Klicken Sie auf den -Button und dann auf den leeren UML-Diagrammbereich rechts, um ein Paketelement zu erstellen. Überschreiben Sie das ausgewählte Namensfeld mit ‚de‘ und drücken Sie die Eingabetaste, um das erste Paket zu erstellen:

Doppelklicken Sie auf das Element ‚de‘-package, um das neue Paket zu öffnen. Wiederholen Sie danach den obigen Vorgang, um die Pakete ‚de.etremejava‘ und ‚de.extremejava.url‘ zu erstellen.

Erstellen Sie die Klassen

Öffnen Sie das ‚url‘-Paket und klicken Sie auf den -Button und im leeren UML-Diagramm des‘ url‘-Pakets, um das erste Klassenelement zu erstellen. Nennen Sie es „URL“:

KVM für Linux

 Die KVM

(K Virtual Machine) ist die Referenzimplementierung der Java 2 Micro Edition (J2ME) von Sun für den Palm. Die CLDC (Connected Limited Device Configuration) ist eine Version des J2ME, die für kleine PDAs und Mobiltelefone geeignet ist.

Das KVM / CLDC enthält Entwicklungstools zur Vorbereitung von Java-Anwendungen unter Solaris und Windows.

Während meines Fluges zur JavaOne-Konferenz 2000 hatte ich 10 Stunden, einen Nur-Linux-Laptop, einen Palm und den KVM / CLDC 1.0 FCS-Download. Sie können sich meine Stimmung vorstellen, als ich herausfand, dass es nur Solaris und Windows unterstützt.

Also portierte ich die Entwicklungstools auf Linux und konnte mein erstes Java-Programm ausführen, das unter Linux für den Palm in the Sky kompiliert wurde.

Später wurde der Palm-ähnliche Emulator auch von mir portiert und die Jungs von JavaSoft boten mir die Möglichkeit, das TCK (Technology Compatibility Kit) auf meinem Port auszuführen. Alle Tests waren erfolgreich, daher ist der KVM für Linux-Patch ziemlich sicher.

Einige Wochen später lud mich JavaSoft in ihre Labs im Valley ein, wo wir meinen Patch in die nächste J2ME-Version integrierten. Da Sun in der Zwischenzeit die neue Version veröffentlicht hat, ist mein Patch jetzt veraltet. Aber ich habe das alte Material aus historischen Gründen behalten.)

Um eine Vorstellung davon zu bekommen, wie meine erste Version des Ports funktioniert hat, können Sie meinen Artikel bei KVMWorld lesen.

In der Oktober-Ausgabe des iX-Magazins finden Sie auch einen Artikel (lokale Kopie), in dem beschrieben wird, wie Sie eine Toolkette für KVM unter Linux einrichten. Die in diesem Artikel verwendeten Downloads finden Sie im Abschnitt Links auf dieser Seite.

Die Installation und Kompilierung des KVM unter Linux ist in meinem Patch beschrieben. Wenn Sie möchten, können Sie den KVM für Linux-Patch 1.4 trotzdem herunterladen.

PBM2Palm

Zusammen mit dem Linux-Patch habe ich eine kleine Hilfsanwendung entwickelt, die ein PBM-S / W-Image in eine Java-Klasse konvertiert, die mit KVM / CLDC direkt angezeigt werden kann.

Da Symbole möglicherweise nur 32 Pixel breit sind, unterteilt das Dienstprogramm die eingegebenen Bilder in Spalten und erstellt eine Klasse, in der die Bilder an einer bestimmten Position angezeigt werden.

Das mit dem Palm Pilot gezeigte Beispielbild wurde mit dem PBM2Palm-Konverter angezeigt: