Warum können Sie Java mit Visual Studio Code entwickeln?

Dieser Artikel ist der Eintrag für den zweiten Tag von "Visual Studio Code Adventskalender 2018". Gestern @tempakyousuke's "Der stärkste Schlüsselbindungs-Spickzettel (VSCode), an den ich gedacht habe "war.

Kürzlich habe ich beim Schreiben von Java ** Visual Studio Code (im Folgenden VS Code) ** als IDE verwendet. Der Hauptgrund ist, dass es ** leicht ** ist und obwohl es noch einige funktionale Teile gibt, die von Eclipse, IntelliJ IDEA und NetBeans nicht erreicht werden können, hat es die minimalen Funktionen. Darüber hinaus ist auch die Entwicklung neuer Funktionen wie ** Visual Studio IntelliCode ** unterstützt Java aktiv, und wir können dies in Zukunft erwarten.

Während der Verwendung ** "Übrigens, warum kann ich Java mit VS-Code debuggen? Was passiert in der Erweiterung?" ** Ich fragte mich plötzlich, also werde ich es nachschlagen. Ich tat. Zum ersten Mal unter ihnen ** LSP (Language Server Protocol) ** und ** [DAP (Debug Adapter Protocol)](https: // Kenntnis von microsoft.github.io/debug-adapter-protocol/) **, Eclipse JDT Language Server und Eclipse LSP4J //projects.eclipse.org/proposals/eclipse-lsp4j) Ich bin zu etwas gekommen, das heißt. Ich hatte nicht viele Informationen auf Japanisch, deshalb werde ich es zusammenfassen.

Visual Studio-Codeerweiterungen

VS-Code kann aufgrund von Erweiterungen für verschiedene Zwecke verwendet werden. Erweiterungen werden auch bei der Entwicklung von Java verwendet. https://marketplace.visualstudio.com/VSCode 2018-10-28_17h41_05.png Die Konfiguration der VS-Code-Erweiterungen wird auf der nächsten Seite beschrieben. https://code.visualstudio.com/docs/extensions/overview

** Language Server ** und ** Debug Adapter sind wichtig, wenn Sie Erweiterungen für Programmiersprachen erstellen. //code.visualstudio.com/docs/extensions/example-debuggers) **, jeweils ** [LSP (Language Server Protocol)](https://microsoft.github.io/language-server- Microsoft spielt eine zentrale Rolle bei der Definition der Spezifikationen als Protokoll /) ** und ** DAP (Debug Adapter Protocol) **.

2018-10-28_16h00_40.png

LSP(Language Server Protocol)

LSP ist Microsofts [Red Hat Summit und Dev Nation, die am 27. Juni 2016 in San Francisco stattfand](https: // www. Unter redhat.com/de/about/press-releases/red-hat-codenvy-and-microsoft-collaborate-language-server-protocol) Red Hat, Codenvy [^ 1] und Ankündigung von Spezifikationen .. Ein JSON-RPC-basiertes Protokoll für die Kommunikation zwischen Language Server und Editoren / IDEs, das die automatische Vervollständigung, das Verschieben zur Definition, das Nachschlagen usw. ermöglicht. Als japanischer Artikel ist "Sprachserverprotokoll (Teil 1)" ziemlich detailliert.

[^ 1]: Codenvy wurde im Mai 2017 von Red Hat übernommen, und dieser Red Hat wurde dieses Jahr von IBM übernommen. Jetzt steht er unter IBM ...?

2018-12-02_15h00_51.png Es ist in Liste der Implementierungen organisiert. Derzeit gibt es zwei Java-Listen.

2018-10-28_15h53_45.png

DAP(Debug Adapter Protocol)

DAP ist ein Protokoll, das die Funktionen des Debuggers abstrahiert, um mithilfe von DAP die folgende Gemeinsamkeit zu erreichen. ist. 図1.png

Implementierungen sind wie LSP aufgelistet, und Java ist jetzt "[Debugger für Java](https: // github] .com / Microsoft / vscode-java-debug) ”. 2018-10-28_15h54_02.png

Eclipse JDT Language Server und Debugger für Java sind im Java Extension Pack enthalten

Bei der Entwicklung von Java mit VSCode gibt es mehrere Optionen, aber das [Java Extension Pack] von Microsoft (https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) Ist die beliebteste Methode. https://code.visualstudio.com/docs/java/extensions image.png Wenn Sie das Java Extension Pack installieren, werden die folgenden vier Erweiterungen installiert, und Sie können die LSP- und DAP-Implementierungen verwenden.

Das Top "Sprachunterstützung für Java (TM) von Red Hat" wird von der Eclipse Foundation [Eclipse JDT Language Server] entwickelt. ](Https://projects.eclipse.org/proposals/jdt-language-server) wird bereitgestellt und basiert auf den folgenden vier Paketen.

Persönlich ist es sehr interessant, dass die Eclipse Foundation einen LSP herausgegeben hat. Neulich JJUG Herr Mike Milinkovich, Vertreter der Eclipse Foundation beim Nachtseminar von Jakarta EE Ich habe darüber gesprochen, aber als ich in der vorherigen Phase über IDE wie Eclipse gesprochen habe, wurde ich gefragt: "Wer kennt LSP?" (Obwohl ich es kaum bekommen konnte ...), aber ich war an der Rückseite von VS Code beteiligt. Du warst da.

Ich dachte, ich würde den LSP4J für diesen Adventskalender ein wenig berühren, aber ich hatte nicht genug Zeit ... Es wurde im folgenden Artikel ausführlich beschrieben. Wenn Sie also interessiert sind, versuchen Sie es bitte.

Einführung in das Language Server Protocol mit LSP4J

Die aktiven Mitgliedsunternehmen von LSP4J und JDT auf der Eclipse-Seite sehen wie folgt aus.

Eclipse LSP4J 2018-12-02_15h30_59.png

Eclipse JDT 2018-12-02_15h30_50.png

Beide enthielten TypeFox, und die beiden Projektleiter (Miro Spönemann, Sven Efftinge) von LSP4J waren ebenfalls TypeFox-Mitarbeiter. Nach der Untersuchung, um welche Art von Unternehmen es sich handelt, konzentriert sich das Unternehmen auf Entwicklungstools wie IDE und hat GitHub Online IDE Gitpod veröffentlicht. Als ich mir die Seite ansah, gab es Eclipse Theia, und ich dachte, es wäre ziemlich gut, aber überraschenderweise gibt es wenig japanische Informationen ... Überprüfen Sie auch diesen Bereich. wie es scheint.

Ich habe am Ende ein wenig entgleist, aber warum kann VS Code Java entwickeln? Ich versuchte es herauszufinden.

Recommended Posts

Warum können Sie Java mit Visual Studio Code entwickeln?
Was ich aus Java gelernt habe, funktioniert mit Visual Studio Code
Java mit Visual Studio Code
Erstellen Sie eine Java-Programmentwicklungsumgebung mit Visual Studio Code
Verwenden Sie PlantUML mit Visual Studio Code
Erstellen Sie mit Java + Spring eine Web-APP-Entwicklungsumgebung mit Visual Studio Code
[Mac] Installieren Sie Java in Visual Studio Code
Eine Aufzeichnung zum Einrichten einer Java-Entwicklungsumgebung mit Visual Studio Code
Versuchen Sie das Remote-Debuggen von Java mit Remote-Containern in Visual Studio Code Insiders
Erleben Sie .NET 5 mit Docker und Visual Studio Code
Fügen Sie in Java in Visual Studio Code die Option --enable-Preview hinzu
[Mac] Java in Visual Studio Code installieren (VS Code)
Warum kann ich den mit gem installierten Befehl Rails verwenden? ??
Verwendung von PlantUML mit Visual Studio Code (erstellt am 30. Oktober 2020)
Code Java von Emacs mit Eclim
Ich habe versucht, mit Java zu interagieren
Ich habe versucht, UDP mit Java zu kommunizieren
Erstellen Sie Java mit Mac vs Code
Führen Sie gepackten Java-Code mit Befehlen aus
Was ich mit Java Gold gelernt habe
Was ich mit Java Silver gelernt habe
Spring 5 MVC-Webanwendungsentwicklung mit Visual Studio Code Spring Security-Nutzung 1/3 [Vorbereitung]
Spring5 MVC-Webanwendungsentwicklung mit Visual Studio-Code Hello World Creation
Ich habe versucht, Java mit einer Reihe zu lernen, die Anfänger klar verstehen können
Spring Boot2-Webanwendungsentwicklung mit Visual Studio Code SQL Server-Verbindung
Spring5 MVC-Webanwendungsentwicklung mit Visual Studio Code SQL Server-Verbindung
[Visual Studio Code] Beim Ausführen des Debugs bei Verwendung von rbenv wird ein Syntaxfehler angezeigt
Spring Boot2-Webanwendungsentwicklung mit Visual Studio Code Hello World-Erstellung
Entwicklung von Spring5 MVC-Webanwendungen mit Visual Studio Code Maven-Vorlagenerstellung
Profilerstellung mit Java Visual VM ~ Grundlegende Verwendung ~
Bereiten Sie die Java-Entwicklungsumgebung mit VS Code vor
Verknüpfen Sie Java- und C ++ - Code mit SWIG
Ich habe versucht, OpenCV mit Java + Tomcat zu verwenden
[JaCoCo (Java Code Coverage)] Verwendung mit NetBeans
Führen Sie Java-Code von cpp auf cocos2dx aus
Spring 5 MVC-Webanwendungsentwicklung mit Visual Studio Code Spring Security-Verwendung 2/3 [Seitenerstellung 1/2]
Spring 5 MVC-Webanwendungsentwicklung mit Visual Studio Code Spring Security-Verwendung 3/3 [Seitenerstellung 2/2]
[Gute Nachrichten] Sie können immer noch mit Java 8 gehen !!
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Führen Sie eine statische Code-Analyse mit Checkstyle mit Java + Gradle durch
Java.home kann nicht mit Visual Studio-Code festgelegt werden.
Ich möchte Java8 für jeden mit Index verwenden
Komfortablere Java-Codeabdeckung mit Jacoco 0.8.0
Erstellen Sie mit Gradle mit VSCode Java → Ausführen
Warum Java die Zielsprache war, hasse ich
Ich habe Code Pipeline mit AWS CDK erstellt.
Versuchen Sie, ein Java-Programm mit VS-Code zu debuggen
Ich habe versucht, den Block mit Java zu brechen (1)
Erstellen Sie eine Java-Entwicklungsumgebung mit VS Code
Das Verfahren, das ich durchgeführt habe, als ich die Umgebung für gradle + Java mit VS Code (Windows 10) vorbereitet habe
Ich kann kein Japanisch mit VS-Code (Visual Studio Code) von Ubuntu 18.04.5 eingeben! ?? Wenn Sie VS Code auf Ubuntu herunterladen möchten, besuchen Sie die offizielle Website! !!