Cet article est l'entrée pour le deuxième jour de «Visual Studio Code Advent Calendar 2018». Hier, @tempakyousuke's "The strongest key bind cheat sheet (VSCode) I think of "était.
Récemment, lors de l'écriture de Java, j'utilise ** Visual Studio Code (ci-après VS Code) ** comme IDE. La raison principale est qu'il est ** léger **, et bien qu'il existe encore certaines parties fonctionnelles qui ne peuvent pas être atteintes par Eclipse, IntelliJ IDEA et NetBeans, il possède les fonctions minimales. En outre, le développement de nouvelles fonctions telles que ** Visual Studio IntelliCode ** prend en charge Java est également actif et nous pouvons nous attendre à l'avenir.
Tout en l'utilisant ** "Au fait, pourquoi est-ce que je peux déboguer Java avec VS Code? Que se passe-t-il à l'intérieur de l'extension?" ** Je me suis soudainement demandé, alors je vais chercher. J'ai fait. Pour la première fois parmi eux, ** LSP (Language Server Protocol) ** et ** [DAP (Debug Adapter Protocol)](https: // Connaissant microsoft.github.io/debug-adapter-protocol/) **, Eclipse JDT Language Server et Eclipse LSP4J //projects.eclipse.org/proposals/eclipse-lsp4j) Je suis arrivé à quelque chose qui s'appelle. Je n'avais pas beaucoup d'informations en japonais, je vais donc les résumer.
VS Code peut être utilisé à des fins diverses en raison des extensions. Les extensions sont également utilisées lors du développement de Java. https://marketplace.visualstudio.com/VSCode La configuration des extensions VS Code est décrite à la page suivante. https://code.visualstudio.com/docs/extensions/overview
** Language Server ** et ** Debug Adapter sont importants lors de la création d'extensions pour les langages de programmation. //code.visualstudio.com/docs/extensions/example-debuggers) **, chacun ** [LSP (Language Server Protocol)](https://microsoft.github.io/language-server- Microsoft joue un rôle central dans la définition des spécifications en tant que protocole /) ** et ** DAP (Debug Adapter Protocol) **.
LSP(Language Server Protocol)
LSP est le [Sommet Red Hat et Dev Nation tenu à San Francisco le 27 juin 2016] de Microsoft (https: // www. Sur redhat.com/en/about/press-releases/red-hat-codenvy-and-microsoft-collaborate-language-server-protocol), Red Hat, Codenvy [^ 1] et Annonce des spécifications .. Un protocole basé sur JSON-RPC pour la communication entre Language Server et les éditeurs / IDE qui fournit l'auto-complétion, le passage à la définition, la recherche, etc. En tant qu'article japonais, "protocole de serveur de langue (partie 1)" est assez détaillé.
[^ 1]: Codenvy a été racheté par Red Hat en mai 2017, et que Red Hat a été racheté par IBM cette année, alors maintenant c'est sous IBM ...?
Il est organisé en Liste des implémentations, et il existe actuellement deux listes Java.
DAP(Debug Adapter Protocol)
DAP est un protocole qui résume les fonctions du débogueur, visant à atteindre les points communs suivants en utilisant DAP. est.
Les implémentations sont répertoriées comme LSP, et Java est désormais "[Debugger for Java](https: // github] .com / Microsoft / vscode-java-debug) ».
Lors du développement de Java avec VSCode, il existe plusieurs options, mais le [Java Extension Pack] de Microsoft (https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) Est la méthode la plus populaire. https://code.visualstudio.com/docs/java/extensions Lorsque vous installez Java Extension Pack, les quatre extensions suivantes sont installées et vous êtes prêt à utiliser les implémentations LSP et DAP.
Le premier "Language Support for Java (TM) by Red Hat" est développé par Eclipse Foundation [Eclipse JDT Language Server] ](Https://projects.eclipse.org/proposals/jdt-language-server) est fourni et est basé sur les quatre packages suivants.
Personnellement, il est très intéressant que la Fondation Eclipse ait publié un LSP. L'autre jour JJUG Mike Milinkovich, représentant de la Fondation Eclipse au séminaire de nuit de Jakarta EE J'en parlais, mais quand j'ai parlé d'IDE tel qu'Eclipse à l'étape précédente, on m'a demandé "Qui connaît LSP?" (Bien que je puisse difficilement l'obtenir ...), mais j'étais impliqué dans l'arrière-plan de VS Code. Tu étais là.
Je pensais toucher un peu le LSP4J pour ce calendrier de l'Avent, mais je n'avais pas assez de temps ... Il a été écrit en détail dans l'article suivant, donc si vous êtes intéressé, essayez-le.
Introduction au protocole de serveur de langues avec LSP4J
En regardant les sociétés membres actives de LSP4J et JDT sur la page Eclipse, elles sont les suivantes.
Tous deux incluaient TypeFox et les deux chefs de projet (Miro Spönemann, Sven Efftinge) de LSP4J étaient également des personnes de TypeFox. Après avoir étudié de quel type d'entreprise il s'agit, c'est une entreprise qui se concentre sur des outils de développement tels que IDE, et c'est une entreprise qui a publié GitHub Online IDE Gitpod. Quand j'ai regardé le site, il y avait Eclipse Theia, et j'ai trouvé que ça avait l'air plutôt bien, mais étonnamment il n'y avait pas beaucoup d'informations japonaises ... Vérifiez aussi cette zone. il semble que.
J'ai un peu déraillé à la fin, mais pourquoi VS Code peut-il développer Java? J'ai essayé de le découvrir.
Recommended Posts