SlideShare a Scribd company logo
Visual Studio Code
for the
Java Developer
@rorypreddy
• Shout “Java” and Raise your hand when you see
this Java Bean:
• First one I see wins Chocolate Java Beans
• Cant get seconds
Meet Rory
• Developer in R&D team at BBD
– Training for 500 Developers
– Most Languages & Frameworks
• Organizer for the Jozi-JUG
• Not related to Tyrion Lannister
• Don’t do kids parties
Meet Rory
1700 members
20+ venues
Conferences
Monthly meetups
www.meetup.com/Jozi-JUG
Vs java (1)
Agenda
• History
• Why Visual Studio Code?
• Language-Servers
– Java Language Server
– Build your own Language server
• How can you start?
Vs java (1)
Vs java (1)
Vs java (1)
History
• May 2001 - Microsoft's Shared Source Initiative, launched
• November 2014 - .NET open-sourced
• November 2015 - Red Hat Linux for Azure launched
• April 2016 – Visual Studio code released
• Jul 2016 - Language Server Protocol open-sourced
• May 2017 – Eclipse Oxygen scheduled for release
Vs java (1)
“Code-optimized lightweight tool, not a complete IDE.
There's no File | New Project or visual designers.”
- Scott Hanselman
“Visual Studio Code complements your command-line
experience with a lightweight code editor that runs on
Windows, Mac and Linux.”
- https://www.microsoft.com
Why Visual Studio Code?
editor IDE
lightweight/fast
file/folders
many languages
many workflows
keyboard centered
project systems
code understanding
debug
integrated build
File>New, wizards
designers
ALM integration
platform tools
...
lightweight/fast
file/folders with project context
many languages
keyboard centered
code understanding (some languages)
debug
task running
Why Visual Studio Code?
Why Visual Studio Code?
Solution: The Language-Server-Protocol (LSP)
• Cross platform language server that that can integrate
with any Code Editor
• Inspired by the V8 debugger protocol
The Problem: “The Matrix”
Go Java C# …
Emacs
VIM
VSCode
Eclipse
…
Language-Server
User opens document
User Edits document
Language Server sends
error/warnings
User executes “Go To
Definition”
User closes document
textDocument/didOpen: textDocument
textDocument/didChange: textDocument
textDocument/publishDiagnostics: dignostics
textDocument/definition: textDocument, position
result:uri, range
textDocument/didClose: textDocument
JSON RPC
Language Server
ProtocolTool Language Server
Some Language Servers
Language Language Server
JSON
Bundled with VS CodeCSS/LESS/SASS
TypeScript/JavaScript
C# .NET Core
Language Server
Extensions
Java
groovy
Scala
Swift
Go
Python
Supporting Tools:
Editors Now
IDE’s Soon
Vs java (1)
Java Language Server Demo
1. Install Java 8 & Maven
2. Install Visual Studio Code and Java Extension
3. Create a maven project (quick start archetype)
4. Open Folder in Visual Studio Code
• If you want to see the JSon exchanges, Change
user settings “"java.trace.server": "off " to " verbose"
Vs java (1)
Vs java (1)
Build your own Language server
1. Git clone project
2. In “Server” project  Ctrl+Shift+B to build
3. In “Client” project  F5 to launch Extension
4. Type the following content: “typescript”
• Language-server suggests a replacement
Source: https://code.visualstudio.com/docs/extensions/example-language-server
Build your own Language server
Vs java (1)
How can you start?
• Install you Language Servers extensions for:
• Sublime,
• Atom,
• VIM,
• EMAC
• Set your VS code Keymap to your old editor
• Go to Preferences -> Keymap Extensions
• Try VSCode for everyday development
@rorypreddy
Ad

More Related Content

What's hot (20)

Beyond The Rails Way
Beyond The Rails WayBeyond The Rails Way
Beyond The Rails Way
Andrzej Krzywda
 
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Better java with design
Better java with designBetter java with design
Better java with design
Narayann Swaami
 
Fastest to Mobile with Scalatra + Swagger
Fastest to Mobile with Scalatra + SwaggerFastest to Mobile with Scalatra + Swagger
Fastest to Mobile with Scalatra + Swagger
Tony Tam
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfO365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
NCCOMMS
 
Craft Beer & Clojure
Craft Beer & ClojureCraft Beer & Clojure
Craft Beer & Clojure
Metosin Oy
 
From legacy to DDD
From legacy to DDDFrom legacy to DDD
From legacy to DDD
Andrzej Krzywda
 
Zapping ever faster: how Zap sped up by two orders of magnitude using RavenDB
Zapping ever faster: how Zap sped up by two orders of magnitude using RavenDBZapping ever faster: how Zap sped up by two orders of magnitude using RavenDB
Zapping ever faster: how Zap sped up by two orders of magnitude using RavenDB
Oren Eini
 
Performance and Abstractions
Performance and AbstractionsPerformance and Abstractions
Performance and Abstractions
Metosin Oy
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Lior Tal
 
AWS Lambda Function with Kotlin
AWS Lambda Function with KotlinAWS Lambda Function with Kotlin
AWS Lambda Function with Kotlin
Troy Miles
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++
Ethan Ram
 
TDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDBTDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDB
Valeri Karpov
 
ASP.NET vNext
ASP.NET vNextASP.NET vNext
ASP.NET vNext
Alex Thissen
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018
Mario Romano
 
SOA Latam 2015
SOA Latam 2015SOA Latam 2015
SOA Latam 2015
Domingo Suarez Torres
 
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
Serverless Architecture Patterns - Manoj Ganapathi - Serverless SummitServerless Architecture Patterns - Manoj Ganapathi - Serverless Summit
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
CodeOps Technologies LLP
 
Building occasionally connected applications using event sourcing
Building occasionally connected applications using event sourcingBuilding occasionally connected applications using event sourcing
Building occasionally connected applications using event sourcing
Dennis Doomen
 
Fastest to Mobile with Scalatra + Swagger
Fastest to Mobile with Scalatra + SwaggerFastest to Mobile with Scalatra + Swagger
Fastest to Mobile with Scalatra + Swagger
Tony Tam
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfO365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
NCCOMMS
 
Craft Beer & Clojure
Craft Beer & ClojureCraft Beer & Clojure
Craft Beer & Clojure
Metosin Oy
 
Zapping ever faster: how Zap sped up by two orders of magnitude using RavenDB
Zapping ever faster: how Zap sped up by two orders of magnitude using RavenDBZapping ever faster: how Zap sped up by two orders of magnitude using RavenDB
Zapping ever faster: how Zap sped up by two orders of magnitude using RavenDB
Oren Eini
 
Performance and Abstractions
Performance and AbstractionsPerformance and Abstractions
Performance and Abstractions
Metosin Oy
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Lior Tal
 
AWS Lambda Function with Kotlin
AWS Lambda Function with KotlinAWS Lambda Function with Kotlin
AWS Lambda Function with Kotlin
Troy Miles
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++
Ethan Ram
 
TDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDBTDD a REST API With Node.js and MongoDB
TDD a REST API With Node.js and MongoDB
Valeri Karpov
 
Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)Vincent biret azure functions and flow (ottawa)
Vincent biret azure functions and flow (ottawa)
Vincent Biret
 
Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)Vincent biret azure functions and flow (toronto)
Vincent biret azure functions and flow (toronto)
Vincent Biret
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018
Mario Romano
 
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
Serverless Architecture Patterns - Manoj Ganapathi - Serverless SummitServerless Architecture Patterns - Manoj Ganapathi - Serverless Summit
Serverless Architecture Patterns - Manoj Ganapathi - Serverless Summit
CodeOps Technologies LLP
 
Building occasionally connected applications using event sourcing
Building occasionally connected applications using event sourcingBuilding occasionally connected applications using event sourcing
Building occasionally connected applications using event sourcing
Dennis Doomen
 

Viewers also liked (17)

Polyglot
PolyglotPolyglot
Polyglot
Rory Preddy
 
Visual Code Consortium Briefing
Visual Code Consortium BriefingVisual Code Consortium Briefing
Visual Code Consortium Briefing
sitf.sg
 
Codestock 2015 - Visual Studio 2015 for Web Developers slides
Codestock 2015 - Visual Studio 2015 for Web Developers slidesCodestock 2015 - Visual Studio 2015 for Web Developers slides
Codestock 2015 - Visual Studio 2015 for Web Developers slides
Jeffrey T. Fritz
 
Abstract php
Abstract phpAbstract php
Abstract php
maiyuri R
 
RAJESH_YADAV_JAVA_RESUME
RAJESH_YADAV_JAVA_RESUMERAJESH_YADAV_JAVA_RESUME
RAJESH_YADAV_JAVA_RESUME
Rajesh Yadav
 
mounesh resume Php
mounesh resume Phpmounesh resume Php
mounesh resume Php
Mounish Moni
 
PHP Latest Resume
PHP Latest ResumePHP Latest Resume
PHP Latest Resume
RAJAT SINGH
 
BDD - Keep love alive
BDD - Keep love aliveBDD - Keep love alive
BDD - Keep love alive
Rory Preddy
 
Resume
ResumeResume
Resume
Bhim Kumar
 
JAX-WS e JAX-RS
JAX-WS e JAX-RSJAX-WS e JAX-RS
JAX-WS e JAX-RS
Antonio Musarra
 
Biswajit-Resume-PHP-Drupal
Biswajit-Resume-PHP-DrupalBiswajit-Resume-PHP-Drupal
Biswajit-Resume-PHP-Drupal
Biswajit Jena
 
Java Resume(jsp)
Java Resume(jsp)Java Resume(jsp)
Java Resume(jsp)
Vinayak Reddy
 
Chetan Resume_Java Skill (1)
Chetan Resume_Java Skill (1)Chetan Resume_Java Skill (1)
Chetan Resume_Java Skill (1)
Chetan Gowda
 
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterpriseMoved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Milen Dyankov
 
Mrinal_132996807
Mrinal_132996807Mrinal_132996807
Mrinal_132996807
Mrinal Mandal
 
Liferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for DevelopersLiferay (DXP) 7 Tech Meetup for Developers
Liferay (DXP) 7 Tech Meetup for Developers
Azilen Technologies Pvt. Ltd.
 
php_resume_vsp 08Months
php_resume_vsp  08Monthsphp_resume_vsp  08Months
php_resume_vsp 08Months
sudhansu shekhar
 
Visual Code Consortium Briefing
Visual Code Consortium BriefingVisual Code Consortium Briefing
Visual Code Consortium Briefing
sitf.sg
 
Codestock 2015 - Visual Studio 2015 for Web Developers slides
Codestock 2015 - Visual Studio 2015 for Web Developers slidesCodestock 2015 - Visual Studio 2015 for Web Developers slides
Codestock 2015 - Visual Studio 2015 for Web Developers slides
Jeffrey T. Fritz
 
Abstract php
Abstract phpAbstract php
Abstract php
maiyuri R
 
RAJESH_YADAV_JAVA_RESUME
RAJESH_YADAV_JAVA_RESUMERAJESH_YADAV_JAVA_RESUME
RAJESH_YADAV_JAVA_RESUME
Rajesh Yadav
 
mounesh resume Php
mounesh resume Phpmounesh resume Php
mounesh resume Php
Mounish Moni
 
PHP Latest Resume
PHP Latest ResumePHP Latest Resume
PHP Latest Resume
RAJAT SINGH
 
BDD - Keep love alive
BDD - Keep love aliveBDD - Keep love alive
BDD - Keep love alive
Rory Preddy
 
Biswajit-Resume-PHP-Drupal
Biswajit-Resume-PHP-DrupalBiswajit-Resume-PHP-Drupal
Biswajit-Resume-PHP-Drupal
Biswajit Jena
 
Chetan Resume_Java Skill (1)
Chetan Resume_Java Skill (1)Chetan Resume_Java Skill (1)
Chetan Resume_Java Skill (1)
Chetan Gowda
 
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterpriseMoved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Milen Dyankov
 
Ad

Similar to Vs java (1) (20)

Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring Developers
Bruno Borges
 
Erich Gamma at SpringOne Platform 2017
Erich Gamma at SpringOne Platform 2017Erich Gamma at SpringOne Platform 2017
Erich Gamma at SpringOne Platform 2017
VMware Tanzu
 
OSS at Microsoft
OSS at MicrosoftOSS at Microsoft
OSS at Microsoft
weltling
 
node_js.pptx
node_js.pptxnode_js.pptx
node_js.pptx
dipen55
 
Evolution of VS code Java ecosystem
Evolution of VS code Java ecosystemEvolution of VS code Java ecosystem
Evolution of VS code Java ecosystem
Adi Polak
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
Oracle Developers
 
Open Source Dev Containers with DevPod - Rich Burroughs.pdf
Open Source Dev Containers with DevPod - Rich Burroughs.pdfOpen Source Dev Containers with DevPod - Rich Burroughs.pdf
Open Source Dev Containers with DevPod - Rich Burroughs.pdf
Rich Burroughs
 
Native App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual Studio
Xamarin
 
Visual Studio Code
Visual Studio CodeVisual Studio Code
Visual Studio Code
Kris van der Mast
 
Open Source and Windows Azure; A Match Made in Heaven
Open Source and Windows Azure; A Match Made in HeavenOpen Source and Windows Azure; A Match Made in Heaven
Open Source and Windows Azure; A Match Made in Heaven
Jesus Rodriguez
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
Ortus Solutions, Corp
 
Language Engineering in the Cloud
Language Engineering in the CloudLanguage Engineering in the Cloud
Language Engineering in the Cloud
lennartkats
 
Java Applications with Visual Studio
Java Applications with Visual StudioJava Applications with Visual Studio
Java Applications with Visual Studio
Red Hat Developers
 
Overview of Coding Languages
Overview of Coding LanguagesOverview of Coding Languages
Overview of Coding Languages
GlowTouch
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
Neev Technologies
 
Get Your Node.js API Swaggering with OpenAPI Spec
Get Your Node.js API Swaggering with OpenAPI SpecGet Your Node.js API Swaggering with OpenAPI Spec
Get Your Node.js API Swaggering with OpenAPI Spec
Adam Paxton
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
Tom Johnson
 
The new java developers kit bag
The new java developers kit bagThe new java developers kit bag
The new java developers kit bag
Jamie Coleman
 
A brief intro to RubyMotion
A brief intro to RubyMotionA brief intro to RubyMotion
A brief intro to RubyMotion
Kamil Lelonek
 
Ow
OwOw
Ow
juanjoaloloco
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring Developers
Bruno Borges
 
Erich Gamma at SpringOne Platform 2017
Erich Gamma at SpringOne Platform 2017Erich Gamma at SpringOne Platform 2017
Erich Gamma at SpringOne Platform 2017
VMware Tanzu
 
OSS at Microsoft
OSS at MicrosoftOSS at Microsoft
OSS at Microsoft
weltling
 
node_js.pptx
node_js.pptxnode_js.pptx
node_js.pptx
dipen55
 
Evolution of VS code Java ecosystem
Evolution of VS code Java ecosystemEvolution of VS code Java ecosystem
Evolution of VS code Java ecosystem
Adi Polak
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
Oracle Developers
 
Open Source Dev Containers with DevPod - Rich Burroughs.pdf
Open Source Dev Containers with DevPod - Rich Burroughs.pdfOpen Source Dev Containers with DevPod - Rich Burroughs.pdf
Open Source Dev Containers with DevPod - Rich Burroughs.pdf
Rich Burroughs
 
Native App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual StudioNative App Development for iOS, Android, and Windows with Visual Studio
Native App Development for iOS, Android, and Windows with Visual Studio
Xamarin
 
Open Source and Windows Azure; A Match Made in Heaven
Open Source and Windows Azure; A Match Made in HeavenOpen Source and Windows Azure; A Match Made in Heaven
Open Source and Windows Azure; A Match Made in Heaven
Jesus Rodriguez
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
Ortus Solutions, Corp
 
Language Engineering in the Cloud
Language Engineering in the CloudLanguage Engineering in the Cloud
Language Engineering in the Cloud
lennartkats
 
Java Applications with Visual Studio
Java Applications with Visual StudioJava Applications with Visual Studio
Java Applications with Visual Studio
Red Hat Developers
 
Overview of Coding Languages
Overview of Coding LanguagesOverview of Coding Languages
Overview of Coding Languages
GlowTouch
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
Neev Technologies
 
Get Your Node.js API Swaggering with OpenAPI Spec
Get Your Node.js API Swaggering with OpenAPI SpecGet Your Node.js API Swaggering with OpenAPI Spec
Get Your Node.js API Swaggering with OpenAPI Spec
Adam Paxton
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
Tom Johnson
 
The new java developers kit bag
The new java developers kit bagThe new java developers kit bag
The new java developers kit bag
Jamie Coleman
 
A brief intro to RubyMotion
A brief intro to RubyMotionA brief intro to RubyMotion
A brief intro to RubyMotion
Kamil Lelonek
 
Ad

More from Rory Preddy (16)

Programming for accessibility
Programming for accessibilityProgramming for accessibility
Programming for accessibility
Rory Preddy
 
Whats new in .net for 2019
Whats new in .net for 2019Whats new in .net for 2019
Whats new in .net for 2019
Rory Preddy
 
Whats new in .NET for 2019
Whats new in .NET for 2019Whats new in .NET for 2019
Whats new in .NET for 2019
Rory Preddy
 
Getting started with Firebase
Getting started with FirebaseGetting started with Firebase
Getting started with Firebase
Rory Preddy
 
Whats new in Java 9,10,11,12
Whats new in Java 9,10,11,12Whats new in Java 9,10,11,12
Whats new in Java 9,10,11,12
Rory Preddy
 
AWS for Java Developers workshop
AWS for Java Developers workshopAWS for Java Developers workshop
AWS for Java Developers workshop
Rory Preddy
 
Java modules
Java modulesJava modules
Java modules
Rory Preddy
 
Java 2018 certifications
Java 2018 certificationsJava 2018 certifications
Java 2018 certifications
Rory Preddy
 
AWS Transcribe and Comprehend
AWS Transcribe and ComprehendAWS Transcribe and Comprehend
AWS Transcribe and Comprehend
Rory Preddy
 
BDD with Mockito
BDD with MockitoBDD with Mockito
BDD with Mockito
Rory Preddy
 
Up and Running with Kubernetes
Up and Running with KubernetesUp and Running with Kubernetes
Up and Running with Kubernetes
Rory Preddy
 
Dockercompose
DockercomposeDockercompose
Dockercompose
Rory Preddy
 
Functional Reactive Endpoints using Spring 5
Functional Reactive Endpoints using Spring 5Functional Reactive Endpoints using Spring 5
Functional Reactive Endpoints using Spring 5
Rory Preddy
 
AWS and Serverless with Alexa
AWS and Serverless with AlexaAWS and Serverless with Alexa
AWS and Serverless with Alexa
Rory Preddy
 
Nashorn
NashornNashorn
Nashorn
Rory Preddy
 
Kotlin
KotlinKotlin
Kotlin
Rory Preddy
 
Programming for accessibility
Programming for accessibilityProgramming for accessibility
Programming for accessibility
Rory Preddy
 
Whats new in .net for 2019
Whats new in .net for 2019Whats new in .net for 2019
Whats new in .net for 2019
Rory Preddy
 
Whats new in .NET for 2019
Whats new in .NET for 2019Whats new in .NET for 2019
Whats new in .NET for 2019
Rory Preddy
 
Getting started with Firebase
Getting started with FirebaseGetting started with Firebase
Getting started with Firebase
Rory Preddy
 
Whats new in Java 9,10,11,12
Whats new in Java 9,10,11,12Whats new in Java 9,10,11,12
Whats new in Java 9,10,11,12
Rory Preddy
 
AWS for Java Developers workshop
AWS for Java Developers workshopAWS for Java Developers workshop
AWS for Java Developers workshop
Rory Preddy
 
Java 2018 certifications
Java 2018 certificationsJava 2018 certifications
Java 2018 certifications
Rory Preddy
 
AWS Transcribe and Comprehend
AWS Transcribe and ComprehendAWS Transcribe and Comprehend
AWS Transcribe and Comprehend
Rory Preddy
 
BDD with Mockito
BDD with MockitoBDD with Mockito
BDD with Mockito
Rory Preddy
 
Up and Running with Kubernetes
Up and Running with KubernetesUp and Running with Kubernetes
Up and Running with Kubernetes
Rory Preddy
 
Functional Reactive Endpoints using Spring 5
Functional Reactive Endpoints using Spring 5Functional Reactive Endpoints using Spring 5
Functional Reactive Endpoints using Spring 5
Rory Preddy
 
AWS and Serverless with Alexa
AWS and Serverless with AlexaAWS and Serverless with Alexa
AWS and Serverless with Alexa
Rory Preddy
 

Recently uploaded (20)

Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Xforce Keygen 64-bit AutoCAD 2025 Crack
Xforce Keygen 64-bit AutoCAD 2025  CrackXforce Keygen 64-bit AutoCAD 2025  Crack
Xforce Keygen 64-bit AutoCAD 2025 Crack
usmanhidray
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 

Vs java (1)

  • 1. Visual Studio Code for the Java Developer @rorypreddy
  • 2. • Shout “Java” and Raise your hand when you see this Java Bean: • First one I see wins Chocolate Java Beans • Cant get seconds
  • 3. Meet Rory • Developer in R&D team at BBD – Training for 500 Developers – Most Languages & Frameworks • Organizer for the Jozi-JUG • Not related to Tyrion Lannister • Don’t do kids parties Meet Rory
  • 6. Agenda • History • Why Visual Studio Code? • Language-Servers – Java Language Server – Build your own Language server • How can you start?
  • 10. History • May 2001 - Microsoft's Shared Source Initiative, launched • November 2014 - .NET open-sourced • November 2015 - Red Hat Linux for Azure launched • April 2016 – Visual Studio code released • Jul 2016 - Language Server Protocol open-sourced • May 2017 – Eclipse Oxygen scheduled for release
  • 12. “Code-optimized lightweight tool, not a complete IDE. There's no File | New Project or visual designers.” - Scott Hanselman “Visual Studio Code complements your command-line experience with a lightweight code editor that runs on Windows, Mac and Linux.” - https://www.microsoft.com Why Visual Studio Code?
  • 13. editor IDE lightweight/fast file/folders many languages many workflows keyboard centered project systems code understanding debug integrated build File>New, wizards designers ALM integration platform tools ... lightweight/fast file/folders with project context many languages keyboard centered code understanding (some languages) debug task running Why Visual Studio Code?
  • 14. Why Visual Studio Code? Solution: The Language-Server-Protocol (LSP) • Cross platform language server that that can integrate with any Code Editor • Inspired by the V8 debugger protocol The Problem: “The Matrix” Go Java C# … Emacs VIM VSCode Eclipse …
  • 15. Language-Server User opens document User Edits document Language Server sends error/warnings User executes “Go To Definition” User closes document textDocument/didOpen: textDocument textDocument/didChange: textDocument textDocument/publishDiagnostics: dignostics textDocument/definition: textDocument, position result:uri, range textDocument/didClose: textDocument JSON RPC Language Server ProtocolTool Language Server
  • 16. Some Language Servers Language Language Server JSON Bundled with VS CodeCSS/LESS/SASS TypeScript/JavaScript C# .NET Core Language Server Extensions Java groovy Scala Swift Go Python
  • 19. Java Language Server Demo 1. Install Java 8 & Maven 2. Install Visual Studio Code and Java Extension 3. Create a maven project (quick start archetype) 4. Open Folder in Visual Studio Code • If you want to see the JSon exchanges, Change user settings “"java.trace.server": "off " to " verbose"
  • 22. Build your own Language server 1. Git clone project 2. In “Server” project  Ctrl+Shift+B to build 3. In “Client” project  F5 to launch Extension 4. Type the following content: “typescript” • Language-server suggests a replacement Source: https://code.visualstudio.com/docs/extensions/example-language-server
  • 23. Build your own Language server
  • 25. How can you start? • Install you Language Servers extensions for: • Sublime, • Atom, • VIM, • EMAC • Set your VS code Keymap to your old editor • Go to Preferences -> Keymap Extensions • Try VSCode for everyday development