SlideShare a Scribd company logo
Visual Studio 2015
Denis Voituron
Civil engineer (Mons)
Company founder
Developer: VB3, VB.Net, C#
.Net Software Architect (Trasys)
Blogger
• Code Like a Ninja
• Debugging Tips and Tricks
• Editor
• Intellisense
• Start Page
• Code Editor
• Windows
• Regions
• Comments
• Extensions
• Refactoring
• Snippet
• DebugVisualizer
• DebuggerVisualizer
• Exceptions Dialog Box (Ctrl-Alt-E)
int result = 0;
int zero = 0;
try
{
result = 10 / zero;
}
catch (DivideByZeroException)
{
}
• Conditional BreakPoint
• Display the Call Stack
• System.Diagnostics.Debugger
int numberOfElements = 10000;
for (int i = 0; i < numberOfElements; i++)
{
if (Debugger.IsAttached && i == numberOfElements - 2)
Debugger.Break();
}
• Debugger Attributes
• [DebuggerDisplay("{X}, {Y}, {Z}")]
• [DebuggerBrowsable(DebuggerBrowsableState.Never)]
• [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
• IntelliTrace & Diagnostic Tools
Visual Studio 2015
http://www.dvoituron.be
dvoituron@outlook.com
References
• Channel9: bit.ly/1Gykh6q
• Visualizer: bit.ly/1IVclOj
• Poster: bit.ly/1cepvrl

More Related Content

What's hot

DevDay 2021 - Codez comme un ninja
DevDay 2021 - Codez comme un ninjaDevDay 2021 - Codez comme un ninja
DevDay 2021 - Codez comme un ninja
Denis Voituron
 
C++ Programming - 2nd Study
C++ Programming - 2nd StudyC++ Programming - 2nd Study
C++ Programming - 2nd Study
Chris Ohk
 
Intro to c programming
Intro to c programmingIntro to c programming
Intro to c programming
Prabhu Govind
 
C++ Programming - 4th Study
C++ Programming - 4th StudyC++ Programming - 4th Study
C++ Programming - 4th Study
Chris Ohk
 
Assignement of programming & problem solving ass.(3)
Assignement of programming & problem solving ass.(3)Assignement of programming & problem solving ass.(3)
Assignement of programming & problem solving ass.(3)
Syed Umair
 
Oopsprc1c
Oopsprc1cOopsprc1c
Oopsprc1c
Ankit Dubey
 
Lightning Talk - Introduce to iOS 7
Lightning Talk - Introduce to iOS 7Lightning Talk - Introduce to iOS 7
Lightning Talk - Introduce to iOS 7
Rafael Sperling
 
Logic development
Logic developmentLogic development
Logic development
Jerin John
 
11 1 포인터
11 1 포인터11 1 포인터

What's hot (11)

Factorial
FactorialFactorial
Factorial
 
DevDay 2021 - Codez comme un ninja
DevDay 2021 - Codez comme un ninjaDevDay 2021 - Codez comme un ninja
DevDay 2021 - Codez comme un ninja
 
C++ Programming - 2nd Study
C++ Programming - 2nd StudyC++ Programming - 2nd Study
C++ Programming - 2nd Study
 
Intro to c programming
Intro to c programmingIntro to c programming
Intro to c programming
 
C++ Programming - 4th Study
C++ Programming - 4th StudyC++ Programming - 4th Study
C++ Programming - 4th Study
 
Assignement of programming & problem solving ass.(3)
Assignement of programming & problem solving ass.(3)Assignement of programming & problem solving ass.(3)
Assignement of programming & problem solving ass.(3)
 
Oopsprc1c
Oopsprc1cOopsprc1c
Oopsprc1c
 
Lightning Talk - Introduce to iOS 7
Lightning Talk - Introduce to iOS 7Lightning Talk - Introduce to iOS 7
Lightning Talk - Introduce to iOS 7
 
Logic development
Logic developmentLogic development
Logic development
 
11 1 포인터
11 1 포인터11 1 포인터
11 1 포인터
 
135
135135
135
 

Viewers also liked

Vs2010and Ne Tframework
Vs2010and Ne TframeworkVs2010and Ne Tframework
Vs2010and Ne TframeworkKulveerSingh
 
Visual Studio 2015 - Whats New ?
Visual Studio 2015 - Whats New ?Visual Studio 2015 - Whats New ?
Visual Studio 2015 - Whats New ?
Lohith Goudagere Nagaraj
 
Visual Studio 2015 for Web Developers - Codestock 2015 slides
Visual Studio 2015 for Web Developers - Codestock 2015 slidesVisual Studio 2015 for Web Developers - Codestock 2015 slides
Visual Studio 2015 for Web Developers - Codestock 2015 slides
Jeffrey T. Fritz
 
Introduction to Event Sourcing
Introduction to Event SourcingIntroduction to Event Sourcing
Introduction to Event Sourcing
Jeffrey T. Fritz
 
Visual studio 2015 ide new features
Visual studio 2015 ide new featuresVisual studio 2015 ide new features
Visual studio 2015 ide new features
Tung Nguyen Thanh
 
Microsoft Experieces 2016 - Retour d’expériences sur TFS Online
Microsoft Experieces 2016 - Retour d’expériences sur TFS OnlineMicrosoft Experieces 2016 - Retour d’expériences sur TFS Online
Microsoft Experieces 2016 - Retour d’expériences sur TFS Online
Denis Voituron
 
Présentation et bonnes pratiques du pattern MVVM - MIC Belgique
Présentation et bonnes pratiques du pattern MVVM - MIC BelgiquePrésentation et bonnes pratiques du pattern MVVM - MIC Belgique
Présentation et bonnes pratiques du pattern MVVM - MIC Belgique
Denis Voituron
 
Presentation to Keep Britain Tidy Annual Conference, March 2011
Presentation to Keep Britain Tidy Annual Conference, March 2011Presentation to Keep Britain Tidy Annual Conference, March 2011
Presentation to Keep Britain Tidy Annual Conference, March 2011Daniel Ratchford
 
Kaizen Sample
Kaizen SampleKaizen Sample
Kaizen Sample
ahmad bassiouny
 
Visual Factory Planning and Scheduling
Visual Factory Planning and SchedulingVisual Factory Planning and Scheduling
Visual Factory Planning and Scheduling
Fulvio Lana
 
Work Place Safety
Work Place SafetyWork Place Safety
Work Place Safety
adullock
 
Visual Studio Tips and Tricks
Visual Studio Tips and TricksVisual Studio Tips and Tricks
Visual Studio Tips and Tricks
Zain Naboulsi
 
ORLEANS PARISH SCHOOL BOARD PERFORMING & VISUAL ARTS SHOWCASE 2012 @ DILLARD ...
ORLEANS PARISH SCHOOL BOARD PERFORMING & VISUAL ARTS SHOWCASE 2012 @ DILLARD ...ORLEANS PARISH SCHOOL BOARD PERFORMING & VISUAL ARTS SHOWCASE 2012 @ DILLARD ...
ORLEANS PARISH SCHOOL BOARD PERFORMING & VISUAL ARTS SHOWCASE 2012 @ DILLARD ...Dillard University Library
 
Visual Board
Visual BoardVisual Board
Visual Board
PatrickJMorrissey
 
Waste Mapping: Lean Techniques Applied in a Healthcare Setting
Waste Mapping: Lean Techniques Applied in a Healthcare SettingWaste Mapping: Lean Techniques Applied in a Healthcare Setting
Waste Mapping: Lean Techniques Applied in a Healthcare Setting
HPRC: Healthcare Plastics Recycling Council
 
Module 1 Workplace Safety
Module 1 Workplace SafetyModule 1 Workplace Safety
Module 1 Workplace Safety
Central Carolina Technical College
 
Blackboard Version 7.1: Introduction to New Features and Tools
Blackboard Version 7.1: Introduction to New Features and ToolsBlackboard Version 7.1: Introduction to New Features and Tools
Blackboard Version 7.1: Introduction to New Features and Tools
Jason Rhode
 
Visual Basic.Net & Ado.Net
Visual Basic.Net & Ado.NetVisual Basic.Net & Ado.Net
Visual Basic.Net & Ado.Net
FaRid Adwa
 
Visual management white board standard structures from waterfall to agile v3
Visual management   white board  standard structures from waterfall to agile v3Visual management   white board  standard structures from waterfall to agile v3
Visual management white board standard structures from waterfall to agile v3
Jean-François Nguyen
 

Viewers also liked (20)

Vs2010and Ne Tframework
Vs2010and Ne TframeworkVs2010and Ne Tframework
Vs2010and Ne Tframework
 
Visual Studio 2015 - Whats New ?
Visual Studio 2015 - Whats New ?Visual Studio 2015 - Whats New ?
Visual Studio 2015 - Whats New ?
 
Visual Studio 2015 for Web Developers - Codestock 2015 slides
Visual Studio 2015 for Web Developers - Codestock 2015 slidesVisual Studio 2015 for Web Developers - Codestock 2015 slides
Visual Studio 2015 for Web Developers - Codestock 2015 slides
 
Introduction to Event Sourcing
Introduction to Event SourcingIntroduction to Event Sourcing
Introduction to Event Sourcing
 
Visual studio 2015 ide new features
Visual studio 2015 ide new featuresVisual studio 2015 ide new features
Visual studio 2015 ide new features
 
Microsoft Experieces 2016 - Retour d’expériences sur TFS Online
Microsoft Experieces 2016 - Retour d’expériences sur TFS OnlineMicrosoft Experieces 2016 - Retour d’expériences sur TFS Online
Microsoft Experieces 2016 - Retour d’expériences sur TFS Online
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
Présentation et bonnes pratiques du pattern MVVM - MIC Belgique
Présentation et bonnes pratiques du pattern MVVM - MIC BelgiquePrésentation et bonnes pratiques du pattern MVVM - MIC Belgique
Présentation et bonnes pratiques du pattern MVVM - MIC Belgique
 
Presentation to Keep Britain Tidy Annual Conference, March 2011
Presentation to Keep Britain Tidy Annual Conference, March 2011Presentation to Keep Britain Tidy Annual Conference, March 2011
Presentation to Keep Britain Tidy Annual Conference, March 2011
 
Kaizen Sample
Kaizen SampleKaizen Sample
Kaizen Sample
 
Visual Factory Planning and Scheduling
Visual Factory Planning and SchedulingVisual Factory Planning and Scheduling
Visual Factory Planning and Scheduling
 
Work Place Safety
Work Place SafetyWork Place Safety
Work Place Safety
 
Visual Studio Tips and Tricks
Visual Studio Tips and TricksVisual Studio Tips and Tricks
Visual Studio Tips and Tricks
 
ORLEANS PARISH SCHOOL BOARD PERFORMING & VISUAL ARTS SHOWCASE 2012 @ DILLARD ...
ORLEANS PARISH SCHOOL BOARD PERFORMING & VISUAL ARTS SHOWCASE 2012 @ DILLARD ...ORLEANS PARISH SCHOOL BOARD PERFORMING & VISUAL ARTS SHOWCASE 2012 @ DILLARD ...
ORLEANS PARISH SCHOOL BOARD PERFORMING & VISUAL ARTS SHOWCASE 2012 @ DILLARD ...
 
Visual Board
Visual BoardVisual Board
Visual Board
 
Waste Mapping: Lean Techniques Applied in a Healthcare Setting
Waste Mapping: Lean Techniques Applied in a Healthcare SettingWaste Mapping: Lean Techniques Applied in a Healthcare Setting
Waste Mapping: Lean Techniques Applied in a Healthcare Setting
 
Module 1 Workplace Safety
Module 1 Workplace SafetyModule 1 Workplace Safety
Module 1 Workplace Safety
 
Blackboard Version 7.1: Introduction to New Features and Tools
Blackboard Version 7.1: Introduction to New Features and ToolsBlackboard Version 7.1: Introduction to New Features and Tools
Blackboard Version 7.1: Introduction to New Features and Tools
 
Visual Basic.Net & Ado.Net
Visual Basic.Net & Ado.NetVisual Basic.Net & Ado.Net
Visual Basic.Net & Ado.Net
 
Visual management white board standard structures from waterfall to agile v3
Visual management   white board  standard structures from waterfall to agile v3Visual management   white board  standard structures from waterfall to agile v3
Visual management white board standard structures from waterfall to agile v3
 

Similar to Visual Studio 2015: Increase your Productivity

Program Verification / Automated Theorem Proving
Program Verification / Automated Theorem ProvingProgram Verification / Automated Theorem Proving
Program Verification / Automated Theorem Proving
lokeshwer2
 
Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScript
Jeremy Likness
 
IOS debugging
IOS debuggingIOS debugging
IOS debugging
Dawid Planeta
 
Productivity Enhencement with Visual Studio
Productivity Enhencement with Visual StudioProductivity Enhencement with Visual Studio
Productivity Enhencement with Visual StudioAhasan Habib
 
Introduction to Programming Bots
Introduction to Programming BotsIntroduction to Programming Bots
Introduction to Programming Bots
Dmitri Nesteruk
 
Oop presentation
Oop presentationOop presentation
Oop presentation
Ch shampi Ch shampi
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# Introduction
Siraj Memon
 
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
Sang Don Kim
 
Chapter i c#(console application and programming)
Chapter i c#(console application and programming)Chapter i c#(console application and programming)
Chapter i c#(console application and programming)
Chhom Karath
 
Wintellect - Devscovery - Enterprise JavaScript Development 1 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 1 of 2Wintellect - Devscovery - Enterprise JavaScript Development 1 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 1 of 2
Jeremy Likness
 
.NET Code Coverage for Continuous Integration using TeamCity and dotCover
.NET Code Coverage for Continuous Integrationusing TeamCity and dotCover.NET Code Coverage for Continuous Integrationusing TeamCity and dotCover
.NET Code Coverage for Continuous Integration using TeamCity and dotCover
Maarten Balliauw
 
Node azure
Node azureNode azure
Node azure
Emanuele DelBono
 
Introduction to Elixir
Introduction to ElixirIntroduction to Elixir
Introduction to Elixir
brien_wankel
 
Windows service best practice
Windows service best practiceWindows service best practice
Windows service best practice
Yu GUAN
 
Rider - Taking ReSharper out of Process
Rider - Taking ReSharper out of ProcessRider - Taking ReSharper out of Process
Rider - Taking ReSharper out of Process
citizenmatt
 
C# What's next? (7.x and 8.0)
C# What's next? (7.x and 8.0)C# What's next? (7.x and 8.0)
C# What's next? (7.x and 8.0)
Christian Nagel
 
Coding Naked 2023
Coding Naked 2023Coding Naked 2023
Coding Naked 2023
Caleb Jenkins
 
CodeChecker summary 21062021
CodeChecker summary 21062021CodeChecker summary 21062021
CodeChecker summary 21062021
Olivera Milenkovic
 
The Challenge of Bringing FEZ to PlayStation Platforms
The Challenge of Bringing FEZ to PlayStation PlatformsThe Challenge of Bringing FEZ to PlayStation Platforms
The Challenge of Bringing FEZ to PlayStation Platforms
Miguel Angel Horna
 
Edward
EdwardEdward
Edward
Tom Elliott
 

Similar to Visual Studio 2015: Increase your Productivity (20)

Program Verification / Automated Theorem Proving
Program Verification / Automated Theorem ProvingProgram Verification / Automated Theorem Proving
Program Verification / Automated Theorem Proving
 
Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScript
 
IOS debugging
IOS debuggingIOS debugging
IOS debugging
 
Productivity Enhencement with Visual Studio
Productivity Enhencement with Visual StudioProductivity Enhencement with Visual Studio
Productivity Enhencement with Visual Studio
 
Introduction to Programming Bots
Introduction to Programming BotsIntroduction to Programming Bots
Introduction to Programming Bots
 
Oop presentation
Oop presentationOop presentation
Oop presentation
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# Introduction
 
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
[Td 2015] what is new in visual c++ 2015 and future directions(ulzii luvsanba...
 
Chapter i c#(console application and programming)
Chapter i c#(console application and programming)Chapter i c#(console application and programming)
Chapter i c#(console application and programming)
 
Wintellect - Devscovery - Enterprise JavaScript Development 1 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 1 of 2Wintellect - Devscovery - Enterprise JavaScript Development 1 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 1 of 2
 
.NET Code Coverage for Continuous Integration using TeamCity and dotCover
.NET Code Coverage for Continuous Integrationusing TeamCity and dotCover.NET Code Coverage for Continuous Integrationusing TeamCity and dotCover
.NET Code Coverage for Continuous Integration using TeamCity and dotCover
 
Node azure
Node azureNode azure
Node azure
 
Introduction to Elixir
Introduction to ElixirIntroduction to Elixir
Introduction to Elixir
 
Windows service best practice
Windows service best practiceWindows service best practice
Windows service best practice
 
Rider - Taking ReSharper out of Process
Rider - Taking ReSharper out of ProcessRider - Taking ReSharper out of Process
Rider - Taking ReSharper out of Process
 
C# What's next? (7.x and 8.0)
C# What's next? (7.x and 8.0)C# What's next? (7.x and 8.0)
C# What's next? (7.x and 8.0)
 
Coding Naked 2023
Coding Naked 2023Coding Naked 2023
Coding Naked 2023
 
CodeChecker summary 21062021
CodeChecker summary 21062021CodeChecker summary 21062021
CodeChecker summary 21062021
 
The Challenge of Bringing FEZ to PlayStation Platforms
The Challenge of Bringing FEZ to PlayStation PlatformsThe Challenge of Bringing FEZ to PlayStation Platforms
The Challenge of Bringing FEZ to PlayStation Platforms
 
Edward
EdwardEdward
Edward
 

More from Denis Voituron

Go lean, Go green
Go lean, Go greenGo lean, Go green
Go lean, Go green
Denis Voituron
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests Plan
Denis Voituron
 
.Net passé, présent et futur
.Net passé, présent et futur.Net passé, présent et futur
.Net passé, présent et futur
Denis Voituron
 
MIC QRS "JWT, la superstar pour sécuriser vos WebAPI"
MIC QRS "JWT, la superstar pour sécuriser vos WebAPI"MIC QRS "JWT, la superstar pour sécuriser vos WebAPI"
MIC QRS "JWT, la superstar pour sécuriser vos WebAPI"
Denis Voituron
 
Azure Pipelines - Et si on arrêtait de mettre en production avec des Disquettes
Azure Pipelines - Et si on arrêtait de mettre en production avec des DisquettesAzure Pipelines - Et si on arrêtait de mettre en production avec des Disquettes
Azure Pipelines - Et si on arrêtait de mettre en production avec des Disquettes
Denis Voituron
 
GitHub et Microsoft Azure DevOps - Le mariage parfait
GitHub et Microsoft Azure DevOps - Le mariage parfaitGitHub et Microsoft Azure DevOps - Le mariage parfait
GitHub et Microsoft Azure DevOps - Le mariage parfait
Denis Voituron
 
Azure for Dev
Azure for DevAzure for Dev
Azure for Dev
Denis Voituron
 
DevDay 2018 - Blazor
DevDay 2018 - BlazorDevDay 2018 - Blazor
DevDay 2018 - Blazor
Denis Voituron
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFS
Denis Voituron
 
Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018
Denis Voituron
 
A la découverte de TypeScript
A la découverte de TypeScriptA la découverte de TypeScript
A la découverte de TypeScript
Denis Voituron
 
Le futur de .NET
Le futur de .NETLe futur de .NET
Le futur de .NET
Denis Voituron
 
Procédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénientsProcédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénients
Denis Voituron
 
Développer avec un Simple Object Mapping Toolkit pour SQL Server
Développer avec un Simple Object Mapping Toolkit pour SQL ServerDévelopper avec un Simple Object Mapping Toolkit pour SQL Server
Développer avec un Simple Object Mapping Toolkit pour SQL Server
Denis Voituron
 
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileLes cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Denis Voituron
 
DevFM #20 : SqlDatabaseCommand, un Simple Object Mapping Toolkit
DevFM #20 : SqlDatabaseCommand, un Simple Object Mapping ToolkitDevFM #20 : SqlDatabaseCommand, un Simple Object Mapping Toolkit
DevFM #20 : SqlDatabaseCommand, un Simple Object Mapping Toolkit
Denis Voituron
 
Presentation MIC SummerCamp 2015 WaterStock
Presentation MIC SummerCamp 2015 WaterStockPresentation MIC SummerCamp 2015 WaterStock
Presentation MIC SummerCamp 2015 WaterStock
Denis Voituron
 
Scrum Guide
Scrum GuideScrum Guide
Scrum Guide
Denis Voituron
 
Visual Studio Online - Outils pour la conception de logiciels - JournéeAgil...
Visual Studio Online - Outils pour la conception de logiciels - JournéeAgil...Visual Studio Online - Outils pour la conception de logiciels - JournéeAgil...
Visual Studio Online - Outils pour la conception de logiciels - JournéeAgil...
Denis Voituron
 
MVVM Lights
MVVM LightsMVVM Lights
MVVM Lights
Denis Voituron
 

More from Denis Voituron (20)

Go lean, Go green
Go lean, Go greenGo lean, Go green
Go lean, Go green
 
Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests Plan
 
.Net passé, présent et futur
.Net passé, présent et futur.Net passé, présent et futur
.Net passé, présent et futur
 
MIC QRS "JWT, la superstar pour sécuriser vos WebAPI"
MIC QRS "JWT, la superstar pour sécuriser vos WebAPI"MIC QRS "JWT, la superstar pour sécuriser vos WebAPI"
MIC QRS "JWT, la superstar pour sécuriser vos WebAPI"
 
Azure Pipelines - Et si on arrêtait de mettre en production avec des Disquettes
Azure Pipelines - Et si on arrêtait de mettre en production avec des DisquettesAzure Pipelines - Et si on arrêtait de mettre en production avec des Disquettes
Azure Pipelines - Et si on arrêtait de mettre en production avec des Disquettes
 
GitHub et Microsoft Azure DevOps - Le mariage parfait
GitHub et Microsoft Azure DevOps - Le mariage parfaitGitHub et Microsoft Azure DevOps - Le mariage parfait
GitHub et Microsoft Azure DevOps - Le mariage parfait
 
Azure for Dev
Azure for DevAzure for Dev
Azure for Dev
 
DevDay 2018 - Blazor
DevDay 2018 - BlazorDevDay 2018 - Blazor
DevDay 2018 - Blazor
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFS
 
Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018
 
A la découverte de TypeScript
A la découverte de TypeScriptA la découverte de TypeScript
A la découverte de TypeScript
 
Le futur de .NET
Le futur de .NETLe futur de .NET
Le futur de .NET
 
Procédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénientsProcédures CLR pour SQL Server : avantages et inconvénients
Procédures CLR pour SQL Server : avantages et inconvénients
 
Développer avec un Simple Object Mapping Toolkit pour SQL Server
Développer avec un Simple Object Mapping Toolkit pour SQL ServerDévelopper avec un Simple Object Mapping Toolkit pour SQL Server
Développer avec un Simple Object Mapping Toolkit pour SQL Server
 
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet AgileLes cinq bonnes pratiques des Tests Unitaires dans un projet Agile
Les cinq bonnes pratiques des Tests Unitaires dans un projet Agile
 
DevFM #20 : SqlDatabaseCommand, un Simple Object Mapping Toolkit
DevFM #20 : SqlDatabaseCommand, un Simple Object Mapping ToolkitDevFM #20 : SqlDatabaseCommand, un Simple Object Mapping Toolkit
DevFM #20 : SqlDatabaseCommand, un Simple Object Mapping Toolkit
 
Presentation MIC SummerCamp 2015 WaterStock
Presentation MIC SummerCamp 2015 WaterStockPresentation MIC SummerCamp 2015 WaterStock
Presentation MIC SummerCamp 2015 WaterStock
 
Scrum Guide
Scrum GuideScrum Guide
Scrum Guide
 
Visual Studio Online - Outils pour la conception de logiciels - JournéeAgil...
Visual Studio Online - Outils pour la conception de logiciels - JournéeAgil...Visual Studio Online - Outils pour la conception de logiciels - JournéeAgil...
Visual Studio Online - Outils pour la conception de logiciels - JournéeAgil...
 
MVVM Lights
MVVM LightsMVVM Lights
MVVM Lights
 

Recently uploaded

Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 

Recently uploaded (20)

Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 

Visual Studio 2015: Increase your Productivity

Editor's Notes

  1. Ouvrir le projet PacMan Editor Encoder dans la Quick Launch (Ctrl + Q) : « Output » Lancer une compilation et afficher les détails dans le panneau Output. Ouvrir le code Form1.cs, méthode LoadBlocks Appuyer sur [ALT] et sélectionner les blocs de code ‘Characters.Block’ Changer Characters.Block par Control. IntelliSense MNSE + [Tab] => MulticastNotSupportedException Ajouter la référence vers System.Configuration System.Configuration.CM + [ab] => System.Configuration.ConfigurationManager Start Page Afficher la page de démarrage : View / Start Page Punaiser le projet PacMan. Click-droit sur un ancien projet et le supprimer de la liste. Click-droit sur l’icône PowerPoint dans la TaskBar et punaiser le projet PacMan. Copier le fichier VisualStudioOnline-StartPage.xaml dans le dossier C:\Users\[User]\Documents\Visual Studio 2015\StartPages Ouvrir la fenêtre Tools / Options / Startup. Choisir la page xaml Afficher la StartPage via View / Start Page Pour personnaliser la page de démarrage, il faut installer « Visual Studio SDK ». Voir https://msdn.microsoft.com/en-us/library/vstudio/ff425532.aspx
  2. Vérifier le Keyboard Mapping Afficher les Options / Environment / Keyboard, et vérifier que le mapping est sur (Default). Navigate To – Recherche intelligente sur les classes et membres en affichant le type associé. Se positionner sur PacMan.cs / public class Pacman, et afficher Edit / Navigate To (Ctrl et ,). Resolve a unknown namespace Dans une méthode, écrire « AsyncOperation op = new AsyncOperation(); » Se positionner sur AsyncOperation et utiliser Ctrl et ; Choisir « using System.ComponentModel ». Go to definition – Atteindre la définition de la classe / méthode. Se positionner sur « private Dots[] ... » et appuyer sur F12. La classe Dots s’affiche. Go to definition – Afficher la définition de la classe / méthode. Se positionner sur « private Dots[] ... » et appuyer sur Alt-F12. La classe Dots s’affiche. Find all Ref. – Trouver toutes les références. Se positionner sur la classe « Dots.cs » et appuyer sur Shift F12. Toutes les utilisations de cette classe s’affichent. Code Lens Revenir sur la classe « Dots.cs » Cliquer sur « 47 references ». Highlighting – Mise en surbrillance. Se positionner dans la méthode PacMan.cs / private bool IsBlock(). Cliquer sur la variable « Point loc = new Point() » et voir les « loc » en surbrillance. Paste XML As Classes Ouvrir le fichier SampleData.xml, sélectionner tout le code XML. Dans Visual Studio, se placer en fin de fichier PacMan.cs et choisir Edit / Paste Special / Paste XML As Classes. Go Back – Go Forward Revenir sur la classe « Dots.cs » Cliquer sur « 47 references » et en choisir une de Form1 Revenir en arrière (Dots.cs) via Ctrl – Revenir en avant (Form1.cs) via Ctrl Shift – Zoom Agrandir le code via Ctrl + MouseWheel
  3. Architecture Sélectionner la commande Architecture / Generate Code Map for Solution. Naviger dans PacMan_Game.Characters pour afficher la carte des classes. Regions Montrer le fonctionnement des touches Ctrl+M, O / L / M / H
  4. Comments Selectionner un bloc de code et montrer le Ctrl+K, C / U pour mettre en commentaire et supprimer les commentaires. Extensions Afficher la fanêtre Tools / Extensions and Updates. Rechercher Web Essentials Chaque extension est indépendante et chargée uniquement lors du premier appel.
  5. Extract Interface Ouvrir le fichier Pacman.cs Appeler Ctrl+R, I et afficher les méthodes et propriétes proposées pour l’interface Ipacman. Sélectionner les membres Move, Speed, TotalPoints et Type et appuyer sur OK. Vérifier l’interface créée et l’implémentation dans la classe Pacman. Extract Method Ouvrir le code de la méthode Pacman_Pacman_Movement. Sélectionner le code « if (_Dots[i].Location.X >= …) { … } » Générer une nouvelle méthode via Ctrl+R, M Analyser le code de la nouvelle méthode. Rename variables, méthodes. Sélectionner la méthode Pacman_Pacman_Movement et la renommer en Pacman_Movement Encapsulate Field Créer une nouvelle variable « private string _maVariable = "abc"; » Sélectionner la ligne et appeler Ctrl+R, E et confirmer la création de la propriété. Analyser le code généré. Quick Actions Depuis VS2015, toutes ces commandes sont contextuellement accessibles via Ctrl+; Snippet Afficher la liste des Snippet, via Ctrl+K, X Choisir le snippet Visual C# / PropFull. Afficher la définition de ce snippet, via Code / Code Snippets Manager (Csharp). Montrer le dossier d’enregistrerement des Snippet. Télécharger l’extension Snippet Designer qui permet de créer des Snippets (modifier des fichiers .snippet)
  6. Ouvrir le fichier Pacman.cs. Ajouter un BreakPoint dans le constructeur (this.Width = ... ) Démarrer le code et cliquer sur le bouton « Start Game ». Punaiser les propriétés this.Size, this.Text, this.Width et this.Height. Poursuivre le code avec F10. Constater les changements : - Propriétés en rouge et nouvelles valeurs - Le temps d’exécution de this.Width = ... de 3ms. Arrêter le code et le re-démarrer. Les variables punaisées sont ré-affichées.
  7. Ajouter la classe suivante au projet. Créer une instance de VisualizerSample : var sample = new VisualizerSample(); Debugger.Break(); Créer un nouveau projet « Class Library » et copier le code du projet bit.ly/1IVclOj Compiler le projet et copier la DLL dans le dossier Debugger\Visualizers. Code d’exemple... public class VisualizerSample { public string Xml { get { return "<body><level1>MyData</level1></body>"; } } public string JSon { get { return "{\"Col1\": \"Hello\", \"Col1\": \"World\", }"; } } public DataTable Table { get { DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("Salary"); DataRow row1 = dt.NewRow(); row1["Name"] = "Voituron"; row1["Salary"] = "500"; dt.Rows.Add(row1); return dt; } } public System.Drawing.Bitmap Image { get { const string imageUrl = "http://static.spiceworks.com/attachments/post/0012/7250/minion-clipboard.jpg"; try { WebClient client = new WebClient(); Stream stream = client.OpenRead(imageUrl); Bitmap bitmap = new Bitmap(stream); stream.Flush(); stream.Close(); return bitmap; } catch (Exception e) { return null; } } } }
  8. Ouvrir le fichier Form1.cs et ajouter le code Try Catch du slide dans le constructeur Form1. Exécuter le code… Aucun message ne s’affiche (du au Try Catch). Afficher la fenêtre Windows / Debug / Exception Settings. Rechercher et cocher l’exception DivideByZeroException. Exécuter le code… Une erreur s’enclenche.
  9. Conditional BreakPoint Ouvrir le fichier PacMan.cs Placer un BreakPoint dans la méthode IsBlock(), dans la boucle for, sur la ligne « if (_Blocks[i] == null) ». Right-Click sur le point rouge du BreakPoint et choisir Conditions. Mettre la condition « Hit Count = 3 ». Exécuter le code, démarrer le jeu et déplacer PacMan (W). Vérifier la variable « i ». Afficher la Call Stack Debug / Windows / Call Stack (Ctrl+A, C) Actions Ajouter une action « Continue Execution ». Et tracer le message « $FUNCTION – i = {i} – Blocks = {_Blocks.Length} ». Executer le code, appuyer sur « Start Game » et afficher la fenêtre Output (Debug / Windows / Output).
  10. Mettre un BreakPoint Conditionnel sur le code suivant. int numberOfElements = 1000; for (int i = 0; i < numberOfElements; i++) { bool ok = true; // Sets a BreakPoint Conditional « Is True: i == numberOfElements – 2) } Executer le code qui prend plusieurs secondes pour afficher le point d’arrêt. Si nécessaire, augmenter le nombre d’élément de 1000 à 5000 ou 10000. Debugger.IsAttached Remplacer la ligne « bool ok = true; » par ... if (Debugger.IsAttached && i == numberOfElements - 2) Debugger.Break(); Executer le code qui s’arrête immédiatement après avoir appuyé sur le bouton « Start Game ».
  11. Complexité dans l’affichage des objets Ouvrir le fichier Pacman.cs. Placer un point d’arrêt dans la boucle FOR de la méthode IsBlock(). Exécuter le code, démarrer un jeu (Start Game) et déplacer PacMan (W). Consulter le contenu de l’objet _Blocks... Il contient 19 « Characters.Blocks ». Créer une classe Player et PlayerPlace. Ajouter un nouveau fichier Player.cs dans le projet. Y écrire le code suivant. public class Player { private string _userName; private PlayerPlace _place; public string UserName { get { return _userName; } set { _userName = value; } } public PlayerPlace Place { get { return _place; } set { _place = value; } } } public class PlayerPlace { public string Name { get; set; } public string City { get; set; } public string Country { get; set; } } Dans le constructeur Pacman.cs ajouter la création de l’objet : Player player = new Player() { UserName = "dvoituron", Place = new PlayerPlace() { Name = "Voituron", City = "Mons", Country = "Belgium" } }; Debugger.Break(); Exécuter le code, démarrer un jeu (Start Game). Consulter le contenu de l’objet player. Simplifier le débuggage de l’objet. Ajouter les attributs... [DebuggerDisplay("{UserName} => {Place.Name}, {Place.Country}")] public class Player { [DebuggerBrowsable(DebuggerBrowsableState.Never)] private string _userName; [DebuggerBrowsable(DebuggerBrowsableState.Never)] private PlayerPlace _place; public string UserName { get { return _userName; } set { _userName = value; } } [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)] public PlayerPlace Place { get { return _place; } set { _place = value; } } }
  12. Activer l’IntelliTrace via Options / Tools / Intellitrace Ajouter un Debugger.Break(); dans le constructeur de Pacman. Dans PacMan.cs, ajouter la commande suivante, dans la méthode Pacman_Pacman_Movement. Trace.WriteLine(String.Format("Movement to {0}.", location)); Démarrer le jeu, appuyer sur le bouton « Start Game » et jouer avec le clavier. Appuyer sur Pause et analyser : - Les données capturées : Break Events, Output Events, IntelliTrace Events. - Les temps et les durées - La Memory Usage : faire un Snapshot avant et après le Debugger.Break()