This document discusses the evolution of Java support in Visual Studio Code. It provides an overview of Java tools, frameworks, and runtimes. It highlights how VS Code offers lightweight, cross-platform Java development and debugging capabilities through extensions. It also demonstrates how VS Code can be used to develop Java applications both locally and remotely on containers through features like remote development and Live Share.
Setting up Javaenvironment, repeatedly
Installing VS Code and Extensions
If you could streamline setting up a Java environment using
VS code that would help (solving) a lot of problems I've had
with it. I know that this isn't really a problem with you and
more a problem with the Java ecosystem, but regardless its a
barrier to entry because as someone who changes
computers, OS's, and environments often its pretty tedious to
manage Java installation and then debug problems if there is
a version mismatch.
– Visual Studio Code Java Developer
Remote Development
SSH
Open aremote folder on any remote machine, virtual
machine, or container with a running SSH server and take
full advantage of VS Code's feature set. Once connected to
a server, you can interact with files and folders anywhere
on the remote filesystem.
Container
The Remote - Containers extension lets you use a Docker
container as a full-featured development environment.
Consist and easily reproducible toolchain.
Quickly swap between different, isolated development
environments and safely make updates without worrying
about impacting your local machine.
Make it easy for new team members / contributors to get
up and running in a consistent development environment.
29.
Container Development
Docker
Containerization –Add Dockerfile to your
project
Images – Build, Run & Manage Images
Kubernetes
Orchestration - Authoring K8S Manifest
Files
Deployment - Apply Manifest Files to K8S
Clusters
Maintenance - Explore K8S Cluster
Resources
Troubleshooting - Inspect K8S Resources
Dev Space
Rapid, iterative Kubernetes development
experience
Let us knowwhat you believe is more important!
• Performance and reliability
• More code actions and refactoring
• Easy to use (installation, setup, configuration,
import, etc.)
• Build tools – Maven, Gradle
• App server?
• Android support?
• More frameworks support (Java FX, etc.)
32.
@AdiPolak
Remote Dev aka.ms/remote-os
VSCode for Java aka.ms/java-in-vscode
Live Share aka.ms/vs-live-share
Intelli Code aka.ms/intelli-code
Microsoft Learn microsoft.com/learn
(Microsoft + Java) ^ Spring
@ashleymcnamara
Editor's Notes
#2 I’m at Microsoft and it’s a pleasure to be here at Devoxx Poland, talking to all of you about what Microsoft has been doing for the Java community, for Spring, for Spring developers with pivotal and so much more.
Today we are going to focus on VS Code and the Java ecosystem. Let’s take the journey together and learn about the exciting plugins and updates
#4 All of these are supported on Azure with strong relationship between Microsoft and the vendors and project leaders of these technologies.
#5 Microsoft announced today that it’s joining the Open Invention Network (OIN), an open-source patent group designed to help protect Linux from patent lawsuits. In essence, this makes the company’s library over 60,000 patents open source and available to OIN members, via ZDNet.
#16 The Language Server protocol is used between a tool (the client) and a language server to integrate features like auto complete, go to definition, find all references and alike into the tool
The LSP was created by Microsoft to define a common language for programming language analyzers to speak. Today, several companies have come together to support its growth, including Codenvy, Red Hat, and Sourcegraph, and the protocol is becoming supported by a rapidly growing list of editor and language communities. See below for details on and links to current client and server implementations.
#17 The java Language server was developed in 2016 during a hackathon in Swisserland with people from IBM,Codeenby, red hat and microsoft
#24 Code completion in Visual Studio Code for Java is provided by Language Support for Java(TM) by Red Hat.
The extension is powered by the same Java development tools (JDT) behind Eclipse, so you can expect the same level of support.
In addition, there's also AI-assisted IntelliSense called IntelliCode. It saves you time by putting what you're most likely to use at the top of your completion list. IntelliCode recommendations are based on thousands of open-source projects on GitHub each with over 100 stars, so it’s trained on the most common usages from high quality projects. When combined with the context of your code, the completion list is tailored to promote those practices.
IntelliCode works well with popular Java libraries and frameworks like Java SE and Spring. It will help you whether you are doing monolithic web apps or modern microservices.
#26 Live Share provides you with the ability to co-edit and co-debug while sharing audio, servers, terminals, diffs, comments, and more. Whether you are conducting a code review, pair programming with a teammate, participating in a hack-a-thon, or even teaching an interactive lecture, Live Share can support you in the many ways you collaborat