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.
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 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) **.
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 ...?
Es ist in Liste der Implementierungen organisiert. Derzeit gibt es zwei Java-Listen.
DAP(Debug Adapter Protocol)
DAP ist ein Protokoll, das die Funktionen des Debuggers abstrahiert, um mithilfe von DAP die folgende Gemeinsamkeit zu erreichen. ist.
Implementierungen sind wie LSP aufgelistet, und Java ist jetzt "[Debugger für Java](https: // github] .com / Microsoft / vscode-java-debug) ”.
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 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.
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