Slide 1

Slide 1 text

Martin Lippert, @martinlippert October 2022 From Zero to Spring Boot Hero using GitHub Codespaces Copyright © 2022 VMware, Inc. or its affiliates.

Slide 2

Slide 2 text

What is GitHub Codespaces? ● https://github.com/features/codespaces ● Visual Studio Code as a commercially hosted Cloud IDE ● Enabled for Teams and GitHub Enterprise, Beta for Individuals ● Pay as you go Codespaces

Slide 3

Slide 3 text

What is possible in Codespaces? ● Install Visual Studio Code extensions (e.g. install Java language support) ● Use via browser ● Use via locally installed Visual Studio Code Codespaces

Slide 4

Slide 4 text

Live Demo

Slide 5

Slide 5 text

Dev Containers is the real magic behind the scenes ● You can describe the dev environment as config files (devcontainer.json) ● Commit the config files to the project to share them ● Run them locally on Docker or remotely via Codespaces ● Spec: https://containers.dev/ Dev Containers

Slide 6

Slide 6 text

Live Demo

Slide 7

Slide 7 text

Codespaces ● https://github.com/features/codespaces ● Enabled for Teams and GitHub Enterprise, Beta for Individuals ● Pay as you go Java and Spring ● Java Extension Pack (language support, running, debugging, testing, maven, etc.) ● Spring Extension Pack (Spring specific extensions like start.spring.io-integration, fast navigation, live hovers, code snippets, refactorings, code completion, etc.) Resources

Slide 8

Slide 8 text

Spring Tools ● Visual Studio Code extension (VSCode, GitHub Codespaces, GitPod, etc.) ● Eclipse IDE extension ● (IntelliJ has their own solution as part of IntelliJ IDEA Ultimate Edition) Need help? ● Take a look at the user guide: https://github.com/spring-projects/sts4/wiki/ ● File an issue: https://github.com/spring-projects/sts4/issues ● Ask on SO: https://stackoverflow.com/questions/ask?tags=spring-tools-4 ● Contact us on Twitter: http://twitter.com/springtools4/ Resources

Slide 9

Slide 9 text

Thank you Contact me at [email protected] @martinlippert © 2022 Spring. A VMware-backed project.