David Staheli | Engineering Manager | Visual Studio Team Services | Microsoft INTEGRATING DIFFERENT IDE’S WITH A COMMON SET OF DEVELOPER SERVICES
WHAT WAS YOUR FIRST IDE?
THERE’S AN IDE FOR THAT
VISUAL STUDIO TEAM SERVICES Plan Code Build Test Deploy Monitor
IDE PLUGINS FOR VISUAL STUDIO TEAM SERVICES
DECISIONS AND CHALLENGES Matching an IDE’s look and feel Reusing code across plug-ins Interacting with browsers
MATCHING AN IDE’S LOOK AND FEEL
DUPLICATE UI AND LOGIC UI IDE 1 Logic UI IDE 2 Logic
DUPLICATE UI, REUSE LOGIC IN-PROCESS UI IDE 1 UI IDE 2 Logic
DUPLICATE UI, REUSE LOGIC OUT-OF-PROCESS UI IDE 1 UI IDE 2 Logic TCP HTTP stdin/stdout Named pipe
REUSE UI AND LOGIC – REMOTE WEB SERVER Embedded Browser IDE 1IDE 2 Embedded Browser Web Server HTTP
CROSS-PLATFORM BROWSER USAGE Example: IntelliJ / Android Studio Authentication
CROSS-PLATFORM BROWSER USAGE In-process browser, or handling browser events? Using Eclipse, or supporting Java 1.6? SWT Browser org.eclipse.swt.browser JavaFX WebView Java 1.7+ Launch system browser No Yes
EMBEDDED BROWSER INTERACTION IDE Browser Host In-process Browser JavaScript Events IDE Procedure CallsJavaScript Function Calls IDE Events
EMBEDDED BROWSER INTERACTION Example: Eclipse Issue Tracking
REUSE UI AND LOGIC – LOCAL WEB SERVER Embedded Browser IDE 1IDE 2 Embedded Browser HTTP Local Web Server
LAUNCHING AN IDE FROM A BROWSER
Example: Open from Web in Android Studio
FINAL NOTES Follow java.visualstudio.com GitHub repos: vso-intellij team-explorer-everywhere jenkinsci/tfs-plugin vso-agent-tasks oauth2-useragent git-credential-manager-for-mac-and-linux
Evaluate the Sessions Sign in and vote at eclipsecon.org