SlideShare une entreprise Scribd logo
1  sur  16
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

Contenu connexe

Tendances

Tendances (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
 

En vedette

Vs2010and Ne Tframework
Vs2010and Ne TframeworkVs2010and Ne Tframework
Vs2010and Ne TframeworkKulveerSingh
 
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 slidesJeffrey T. Fritz
 
Introduction to Event Sourcing
Introduction to Event SourcingIntroduction to Event Sourcing
Introduction to Event SourcingJeffrey T. Fritz
 
Visual studio 2015 ide new features
Visual studio 2015 ide new featuresVisual studio 2015 ide new features
Visual studio 2015 ide new featuresTung 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 OnlineDenis 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 BelgiqueDenis 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
 
Visual Factory Planning and Scheduling
Visual Factory Planning and SchedulingVisual Factory Planning and Scheduling
Visual Factory Planning and SchedulingFulvio Lana
 
Work Place Safety
Work Place SafetyWork Place Safety
Work Place Safetyadullock
 
Visual Studio Tips and Tricks
Visual Studio Tips and TricksVisual Studio Tips and Tricks
Visual Studio Tips and TricksZain 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
 
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 ToolsJason Rhode
 
Visual Basic.Net & Ado.Net
Visual Basic.Net & Ado.NetVisual Basic.Net & Ado.Net
Visual Basic.Net & Ado.NetFaRid 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 v3Jean-François Nguyen
 

En vedette (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
 

Similaire à Visual Studio 2015: Increase your Productivity

Program Verification / Automated Theorem Proving
Program Verification / Automated Theorem ProvingProgram Verification / Automated Theorem Proving
Program Verification / Automated Theorem Provinglokeshwer2
 
Introduction to TypeScript
Introduction to TypeScriptIntroduction to TypeScript
Introduction to TypeScriptJeremy Likness
 
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 BotsDmitri Nesteruk
 
.NET and C# Introduction
.NET and C# Introduction.NET and C# Introduction
.NET and C# IntroductionSiraj 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 2Jeremy 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 dotCoverMaarten Balliauw
 
Introduction to Elixir
Introduction to ElixirIntroduction to Elixir
Introduction to Elixirbrien_wankel
 
Windows service best practice
Windows service best practiceWindows service best practice
Windows service best practiceYu GUAN
 
Rider - Taking ReSharper out of Process
Rider - Taking ReSharper out of ProcessRider - Taking ReSharper out of Process
Rider - Taking ReSharper out of Processcitizenmatt
 
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
 
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 PlatformsMiguel Angel Horna
 

Similaire à 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
 

Plus de Denis Voituron

Azure DevOps Tests Plan
Azure DevOps Tests PlanAzure DevOps Tests Plan
Azure DevOps Tests PlanDenis Voituron
 
.Net passé, présent et futur
.Net passé, présent et futur.Net passé, présent et futur
.Net passé, présent et futurDenis 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 DisquettesDenis 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 parfaitDenis Voituron
 
Les méthodes agiles dans TFS
Les méthodes agiles dans TFSLes méthodes agiles dans TFS
Les méthodes agiles dans TFSDenis Voituron
 
Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018Awareness Oniryx - Mai 2018
Awareness Oniryx - Mai 2018Denis Voituron
 
A la découverte de TypeScript
A la découverte de TypeScriptA la découverte de TypeScript
A la découverte de TypeScriptDenis 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énientsDenis 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 ServerDenis 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 AgileDenis 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 ToolkitDenis Voituron
 
Presentation MIC SummerCamp 2015 WaterStock
Presentation MIC SummerCamp 2015 WaterStockPresentation MIC SummerCamp 2015 WaterStock
Presentation MIC SummerCamp 2015 WaterStockDenis 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
 

Plus de 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
 

Dernier

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Dernier (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

Visual Studio 2015: Increase your Productivity

Notes de l'éditeur

  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()