Visual Studio
Visual Studio for Mac
Visual Studio Code
Visual Studio Mobile Center
Visual Studio Team Services
BEST-IN-CLASS
PRODUCTIVITY
FASTER
THAN EVER
ANY DEVELOPER,
ANY PLATFORM
CONNECTED
TO YOU
Project file globbing Accessibility improvements Shared identity across servicesExtension Performance Center Updated Find All ReferencesRedesigned Start Page
SQLite database for C++ CMake supportNew installation experience C++14 standards support Preliminary support for C++17 standard Go To All C# 7 refactorings
Ref returns (C#) Nested local functions (C#)Clang/C2 /bigobj support Value tuples for C#/VB Startup perf improvementsValue tuples (C#/VB) IntelliSense filtering
Lightweight Solution Load C++ Core Guidelines checkerStructure Guidelines for C#, VB and XAML EditorConfig support New F# editor based on Roslyn workspaces
Open Folder
Connected ServicesSyntax colorization and autocomplete for 15 new languages Automatic NuGet package retrievalF# 4.1 language support TypeScript 2.1
New JavaScript / TypeScript language service Run to Click debugging Reattach to Process Conditional exception supportGit staging
Node.js Tooling
New exception helper IntelliTrace events for .NET Core Enhanced CPU Usage toolingRedgate Data Tools for Visual StudioNuGet 4.0
In-product acquisitionAssociate tests with test cases .NET Core Tools 1.0XAML Edit and Continue XAML x:Bind IntelliSenseRemove and Sort Namespaces in XAML
Performance Profiler attach to running process New extensibility formatWindows 10 Creators Update SDKVisual Studio Tools for Unity 3 SQL Server 2016 tooling support
Attach to Process filterChrome debugger support Live Unit Testing Modify extensions in bulkLive Architecture Dependency Validation
Improved XAML Tab Switch performance Azure SQL Database authentication Developer Analytics Tools 8.6SharePoint 2016 templates and tooling Azure SDK for .NET
Diagnostic Tool Window updates UWP Visual Asset designer
Xamarin 4.4
Cordova SimulatorTeam Explorer standalone client Apple tvOS support from Xamarin
Git SSH supportNGEN extensions Roaming Extension Manager UI Analysis for UWP AppsRefactored developer command prompts
2M+
1.6M 5M
1,200+
Overall Language Popularityhttp://stackoverflow.com/insights/survey/2017/
“Visual Studio… the most popular developer
environment tool for web developers,
desktop developers, and data scientists”
23.0%
24.0%
27.1%
31.4%
34.3%
38.8%
IntelliJ
VS Code
Vim
Sublime Text
Notepad++
Visual Studio
Most Popular Development Environments by Occupation
31.3%
39.9%
59.4%
60.0%
60.2%
C++
Java
C#
JavaScript
SQL
Most Popular Languages by Occupation
C#
34.1%
(up 3.2%)
TypeScript
9.5%
(up 9.03%)
Tooling support for
Windows 10 Creators
Update (RS2)
Install reliability
improvements
Team Explorer edition
Integrated Python
support
New Data Science
workload
Xamarin IDE and
profiler updates
15.0 15.1 15.2
Accessibility improvements
.NET Core 2.0 support
C# async main and default
expressions
Task status center
Docker nano container support
Improved code styles support
C++ perf improvements
15.3
Preview 1
Available nowAvailable now
<//>
public async
Task<int>
{int x = await task;
Development flows left to right and repeats
We can do better
Tighten the cycle
Catch issues before check-in
Identify issues in production
<//>
Continuous integration + real-time experiences = shift left
public async
Task<int>
{int x = await task;
Key Themes
Collaboration across the Visual Studio family
Bringing containers everywhere
Applying machine learning to productivity
Development as a “team sport”
New for 2017
-
-
-
-
-
New since 2017 RTM
- Navigation
- Refactoring
- Live Unit Testing
iOSWindows AndroidLinux
Clojure CoffeeScript Go Groovy Java Objective-C Perl PHP Ruby Rust Swift
Confirmed
and triaged
03/09/17
Accepted
workaround
03/10/17
Investigation
through data
03/09/17
Problem
report on
03/08/17
A story from VS2017 development….
Lorem
Ipsum
0x/xx/17
Lorem
Ipsum
0x/xx/17
Most productive
tooling in
the industry
Development
as a
“team sport”
Any developer,
Any app
Always
improving with
your feedback
Session code Title Speaker Time Room
B8036
Supercharge your debugging
in Visual Studio 2017
Kaycee Anderson Fri 5/12 12:30pm WSCC Hall 6E
B8096
Ten things you didn’t know
about Visual Studio 2017 for
building UWP apps
Clint Rutkas
Daniel Jacobson
Fri 5/12 10:30am WSCC Hall 6C
B8104 The future of C#
Dustin Campbell
Mads Torgersen
Fri 5/12 10:30am WSCC Hall 6E
B8113
Using the Windows
subsystem for Linux and the
Windows Console for a next
generation debugging
experience
Gilles Khouzam
Jack Hammons
Fri 5/12 12:30pm WSCC Hall 6B
B8073
Modern front-end
development in Visual Studio
2017
Mads Kristensen Fri 5/12 2pm WSCC Hall 6E
<//>
public async
Task<int>
{int x = await task;
Edit and continue – pulled debugging into the edit/build cycle
<//>
public async
Task<int>
{int x = await task;
<//>
public async
Task<int>
{int x = await task;
Live unit testing – pulls quality further into the inner loop
<//>
public async
Task<int>
{int x = await task;
<//>
public async
Task<int>
{int x = await task;
Live code analysis – immediate feedback loop
<//>
public async
Task<int>
{int x = await task;
Trends
Software development is a team sport
Agile & DevOps change the flow
Individual productivity still matters
Build 2017 - B8083 - The future of Visual Studio
Build 2017 - B8083 - The future of Visual Studio

Build 2017 - B8083 - The future of Visual Studio

  • 4.
    Visual Studio Visual Studiofor Mac Visual Studio Code Visual Studio Mobile Center Visual Studio Team Services
  • 5.
  • 6.
    Project file globbingAccessibility improvements Shared identity across servicesExtension Performance Center Updated Find All ReferencesRedesigned Start Page SQLite database for C++ CMake supportNew installation experience C++14 standards support Preliminary support for C++17 standard Go To All C# 7 refactorings Ref returns (C#) Nested local functions (C#)Clang/C2 /bigobj support Value tuples for C#/VB Startup perf improvementsValue tuples (C#/VB) IntelliSense filtering Lightweight Solution Load C++ Core Guidelines checkerStructure Guidelines for C#, VB and XAML EditorConfig support New F# editor based on Roslyn workspaces Open Folder Connected ServicesSyntax colorization and autocomplete for 15 new languages Automatic NuGet package retrievalF# 4.1 language support TypeScript 2.1 New JavaScript / TypeScript language service Run to Click debugging Reattach to Process Conditional exception supportGit staging Node.js Tooling New exception helper IntelliTrace events for .NET Core Enhanced CPU Usage toolingRedgate Data Tools for Visual StudioNuGet 4.0 In-product acquisitionAssociate tests with test cases .NET Core Tools 1.0XAML Edit and Continue XAML x:Bind IntelliSenseRemove and Sort Namespaces in XAML Performance Profiler attach to running process New extensibility formatWindows 10 Creators Update SDKVisual Studio Tools for Unity 3 SQL Server 2016 tooling support Attach to Process filterChrome debugger support Live Unit Testing Modify extensions in bulkLive Architecture Dependency Validation Improved XAML Tab Switch performance Azure SQL Database authentication Developer Analytics Tools 8.6SharePoint 2016 templates and tooling Azure SDK for .NET Diagnostic Tool Window updates UWP Visual Asset designer Xamarin 4.4 Cordova SimulatorTeam Explorer standalone client Apple tvOS support from Xamarin Git SSH supportNGEN extensions Roaming Extension Manager UI Analysis for UWP AppsRefactored developer command prompts
  • 7.
    2M+ 1.6M 5M 1,200+ Overall LanguagePopularityhttp://stackoverflow.com/insights/survey/2017/ “Visual Studio… the most popular developer environment tool for web developers, desktop developers, and data scientists” 23.0% 24.0% 27.1% 31.4% 34.3% 38.8% IntelliJ VS Code Vim Sublime Text Notepad++ Visual Studio Most Popular Development Environments by Occupation 31.3% 39.9% 59.4% 60.0% 60.2% C++ Java C# JavaScript SQL Most Popular Languages by Occupation C# 34.1% (up 3.2%) TypeScript 9.5% (up 9.03%)
  • 8.
    Tooling support for Windows10 Creators Update (RS2) Install reliability improvements Team Explorer edition Integrated Python support New Data Science workload Xamarin IDE and profiler updates 15.0 15.1 15.2 Accessibility improvements .NET Core 2.0 support C# async main and default expressions Task status center Docker nano container support Improved code styles support C++ perf improvements 15.3 Preview 1 Available nowAvailable now
  • 10.
    <//> public async Task<int> {int x= await task; Development flows left to right and repeats
  • 11.
    We can dobetter Tighten the cycle Catch issues before check-in Identify issues in production
  • 12.
    <//> Continuous integration +real-time experiences = shift left public async Task<int> {int x = await task;
  • 13.
    Key Themes Collaboration acrossthe Visual Studio family Bringing containers everywhere Applying machine learning to productivity Development as a “team sport”
  • 16.
    New for 2017 - - - - - Newsince 2017 RTM - Navigation - Refactoring - Live Unit Testing
  • 17.
    iOSWindows AndroidLinux Clojure CoffeeScriptGo Groovy Java Objective-C Perl PHP Ruby Rust Swift
  • 21.
    Confirmed and triaged 03/09/17 Accepted workaround 03/10/17 Investigation through data 03/09/17 Problem reporton 03/08/17 A story from VS2017 development…. Lorem Ipsum 0x/xx/17 Lorem Ipsum 0x/xx/17
  • 22.
    Most productive tooling in theindustry Development as a “team sport” Any developer, Any app Always improving with your feedback
  • 24.
    Session code TitleSpeaker Time Room B8036 Supercharge your debugging in Visual Studio 2017 Kaycee Anderson Fri 5/12 12:30pm WSCC Hall 6E B8096 Ten things you didn’t know about Visual Studio 2017 for building UWP apps Clint Rutkas Daniel Jacobson Fri 5/12 10:30am WSCC Hall 6C B8104 The future of C# Dustin Campbell Mads Torgersen Fri 5/12 10:30am WSCC Hall 6E B8113 Using the Windows subsystem for Linux and the Windows Console for a next generation debugging experience Gilles Khouzam Jack Hammons Fri 5/12 12:30pm WSCC Hall 6B B8073 Modern front-end development in Visual Studio 2017 Mads Kristensen Fri 5/12 2pm WSCC Hall 6E
  • 27.
  • 28.
    Edit and continue– pulled debugging into the edit/build cycle <//> public async Task<int> {int x = await task;
  • 29.
  • 30.
    Live unit testing– pulls quality further into the inner loop <//> public async Task<int> {int x = await task;
  • 31.
  • 32.
    Live code analysis– immediate feedback loop <//> public async Task<int> {int x = await task;
  • 33.
    Trends Software development isa team sport Agile & DevOps change the flow Individual productivity still matters