st. louis days of .net 2013: visual studio tips and tricks
DESCRIPTION
The slide deck from my talk at the St. Louis Days of .NET 2013. This deck provides a large amount of information on various tips and tricks to increase your efficiency with Microsoft's Visual Studio development environment. The information provided is applicable to Visual Studio 2005/2008/2010/2012/2013...TRANSCRIPT
![Page 1: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/1.jpg)
Visual Studio.NET: Tips, Tricks, & Toys
by Kevin Grossnicklaus
![Page 2: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/2.jpg)
Agenda
• Introduction• General Tips• Code Editor Tricks• Searching• Layout and Navigation• Advanced Design-Time Tips• Debugging Tips• VS.NET Plug-Ins• External Development Tools• Additional Resources• Questions?
![Page 3: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/3.jpg)
Introduction
• Kevin Grossnicklaus– ArchitectNow- www.ArchitectNow.net (2009-Present)
• President
– Washington University - CAIT Program (2003-Present)• Instructor
– SSE - www.SSEinc.com (1999-2009)• Chief Architect• Software Development Practice Leader
• Email: [email protected] • Twitter: @kvgros
![Page 4: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/4.jpg)
Expectations
• What are we going to cover?• Why is this something I should be aware of?• Who can use this stuff?• How detailed are we going to get?
![Page 5: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/5.jpg)
GENERAL TIPS
![Page 6: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/6.jpg)
Managing Shortcuts
• Keyboard vs. Mouse
• Verify your current environment settings– This talk assumes “General Development”
• Manage keyboard shortcuts here:– Tools->Options->Environment->Keyboard
• All settings (including shortcuts) can be imported and/or exported from:– Tools->Import and Export Settings
![Page 7: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/7.jpg)
Keyboard Shortcuts
• Standard Shortcuts:– Ctl-K– Ctl-Shift-O
• “Chords” = Two character shortcuts– Written as:• Ctl-K,D or Ctl-K, Ctl-D
![Page 8: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/8.jpg)
Shortcut Reference Posters
• Visual Studio 2010 Keybinding Posters– http://www.microsoft.com/en-us/download/detai
ls.aspx?id=13189
![Page 9: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/9.jpg)
Top Level Shortcuts
• Ctl-Shift-N = New Project• Alt-Shift-N = New Website• Ctl-Shift-O = Open Project• Alt-Shift-O = Open Website• Ctl-Shift-A = Add New Item• Alt-Shift-A = Add Existing Item
![Page 10: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/10.jpg)
CODE EDITOR
![Page 11: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/11.jpg)
Cut/Copy/Paste
• Copy or Cut = Ctl-C or Ctl-X (respectively) – If no selection, cuts or copies the current line to the clipboard– If there is a selection, cuts or copies the selection to the
clipboard• Tools->Options->Text Editor->All Languages->General• Uncheck the “Apply Cut or Copy Commands to Blank Lines When
There is No Selection” option
• Current Line– Ctl-L to cut the current line to the clipboard (including EoL)– Ctl-Shift-L to delete the current line
![Page 12: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/12.jpg)
Cut/Copy/Paste (Cont.)
• Paste = Ctl-V– Pastes the last item cut or copied into the editor at the
current cursor location• Clipboard “Ring” = Ctl-Shift-V– Cycles through the previous 20 items cut to the
clipboard and pastes them at the current cursor location
– Accidentally cut or copy something you didn’t mean to? • Cycle through pasting until you get to the item you overwrote
![Page 13: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/13.jpg)
Misc Selection/Insertion Commands
• Ctl-Enter to insert a blank line above current line
• Ctl-Shift-Enter to insert a blank line below current line
• Ctl-W to select current word• Ctl-Delete to delete next word• Ctl-Backspace to delete previous word
![Page 14: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/14.jpg)
Drag/Drop Code
• Selections of code can be dragged around a code file or to different files– Hold Shift to “Copy”
• Code can be dragged onto the Toolbox dock-window in the “General” section and then dragged back onto other editors– These can be renamed to be more readable– This is a handy way to reuse sections of code
![Page 15: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/15.jpg)
Weird Editor Shortcuts
• Ctl-T to transpose a character• Ctl-Shift-T to transpose a word• Alt-Shift-T to transpose a line• Ctl-U to make current selection or character
lowercase• Ctl-Shift-U to make current selection or
character uppercase
![Page 16: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/16.jpg)
Undo/Redo
• Ctl-Z to Undo• Ctl-Y to Redo• Use the dropdowns for more granular control
and information
![Page 17: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/17.jpg)
Scrolling
• Use the scroll bars or mouse wheel• Press mouse wheel to allow for 4-way
navigation
![Page 18: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/18.jpg)
“Go-Back” Markers and Navigation
• What is a “Go-Back” marker?• Ctl-Minus to navigate backwards• Ctl-Shift-Minus to navigate forwards• Optionally use the toolbar buttons and
dropdown boxes for more info
![Page 19: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/19.jpg)
Navigation Bar
• What is the navigation bar?• Ctl-F2 to select the navigation bar• Tab or Shift-Tab to switch between combo
boxes once selected• Arrow keys to navigate down and enter to select• To enable/disable per language:– Tools->Options->Text Editor->All languages (or
specific language)->General– Set the “Navigation Bar” option
![Page 20: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/20.jpg)
Splitting Editor Windows
• Window->Split to split • Window->Remove Split to remove• Splitter can be resized via mouse• F6 to switch between split panes
![Page 21: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/21.jpg)
Line Numbers
• Enable line numbers here:– Tools->Options->Text Editor->All languages (or
specific language)->General– Check “Line Numbers”
![Page 22: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/22.jpg)
Track Changes
Tools->Options->Text Editor->General Check “Track Changes”
What does this do? Yellow – Lines were edited since last save. Green – Lines were edited prior to last save.
Yellow becomes Green after one save, close and re-open a file and Green is gone
![Page 23: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/23.jpg)
Code Selection
• Click and drag to select code via the common “stream” mode
• Hold Alt-Shift and click and drag to select in “box” mode
• Shift-Arrow Keys to manually select code in “stream” mode
• Alt-Shift-Arrow Keys to manually select in “box” mode
![Page 24: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/24.jpg)
Formatting
• What does code formatting do?• Where can I adjust the settings?– Tools->Options->Text Editor->(Language)-
>Formatting• Ctl-K,D to format the current document• Ctl-K,F to format the current selection
![Page 25: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/25.jpg)
Outlining
• Ctl-M,M to toggle outlining around cursor• Ctl-M,L to toggle all outlining in current file• Ctl-M,P to turn off outlining• Edit->Outlining->Start Automatic Outlining to
turn back on• Ctl-M,O to collapse to definitions• Selecting a collapsed definition allows you to
cut and paste it as a whole
![Page 26: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/26.jpg)
Remove Unused Usings
• Right click in editor and select:– Organize Usings->Remove Unused Usings
![Page 27: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/27.jpg)
Bookmarks
• Ctl-K,K to toggle bookmarks on current line
• Ctl-K,N to go to the next bookmark• Ctl-K,P to go to the previous bookmark• Ctl-K,L to clear all bookmarks• Ctl-K,W to view the bookmarks window• Organizing Bookmarks
![Page 28: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/28.jpg)
Commenting
• Handy Shortcuts:– Ctl-K,C = Comment Block– Ctl-K,U = Uncomment Block
• XML Comments• Task List Comments– //TODO– //HACK– //UNDONE
![Page 29: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/29.jpg)
Intellisense
• Ctl-J to invoke statement completion (i.e. bring up Intellisense)
• Ctl-Space or Alt-Right Arrow for statement completion
![Page 30: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/30.jpg)
Smart-Tags
• Ctl-Period to drop down a Smart-Tag menu– Enter to select the first item
• Resolve Context Menu
![Page 31: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/31.jpg)
Code Snippets
• Ctl-K,X to bring up Code Snippet menu– Type-ahead supported– Or enter the snippet shortcut keyword and press Tab-Tab
• Ctl-K,S to insert a code snippet around a selected block of code
• Tab and Shift-Tab to switch between “tokens”
• Ctl-K,B to bring up the Code Snippet Manager
![Page 32: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/32.jpg)
Refactoring
• Ctl-R,R to rename current item• Ctl-R,M to extract the currently selected code
into a new method• Ctl-R,E to encapsulate field into a property• Ctl-R,I to extract interface from current class• Ctl-R,P to promote selected local variable to a
parameter• Ctl-R,V to remove parameters• Ctl-R,O to reorder parameters
![Page 33: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/33.jpg)
Call Hierarchy Window
• To display: Ctl-K,T• Nice navigation between calling methods and
methods called from the current method
![Page 34: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/34.jpg)
SEARCHING
![Page 35: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/35.jpg)
Searching - 1
• Incremental Search– Ctl-I– Start typing– Ctl-I again to jump to next occurrence
• Current Word Search– Ctl-F3 to search for the currently selected word– Ctl-Shift-F3 to search for the current word looking
backwards• Quick Find
– Ctl-F to bring up Quick Find with current word as the default– Use Regular Expressions
![Page 36: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/36.jpg)
Searching - 2
• Quick Replace– Ctl-H brings up the Quick Replace window with
the current word as the default• Find Symbol– Alt-F12 brings up the Find Symbol dialog– Shift-Alt-F12 searches for the current word
using the Find Symbol functionality but skips the UI
![Page 37: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/37.jpg)
Searching - 3
• Find in Files– Ctl-Shift-F opens the Find in File dialog
• Replace in Files– Ctl-Shift-H opens the Replace in Files dialog
• Find in Files options
![Page 38: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/38.jpg)
LAYOUT AND NAVIGATION
![Page 39: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/39.jpg)
Document Windows
• Document Windows = Tabbed Documents• Ctl-Alt-Down Arrow to drop down file tab
channel• Tab Context Menu– Close All But This– Copy Full Path– Open Containing Folder
• Tab Groups– Horizontal or Vertical
• Windows Menu
![Page 40: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/40.jpg)
Document Navigation
• Ctl-Tab to display the IDE navigator– Ctl-Tab again to scroll through open documents– Ctl-Shift-Tab to scroll in reverse– Arrow keys or mouse to select a document or dock-
window• Ctl-F6 and Ctl-Shift-F6 to jump between
currently open documents without using the IDE navigator (forwards and backwards)
• Ctl-F4 to close the current document
![Page 41: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/41.jpg)
Dock/Tool Windows• Docking Targets• Five “States”
– Dockable– Floating– Tabbed– Hide– Auto-Hide
• Alt-F7 and Alt-Shift-F7 to scroll (forwards or backwards) through all opened tool windows using the IDE navigator
• Alt-F6 and Alt-Shift-F6 to scroll (forwards or backwards) through all opened tool windows without the navigator
![Page 42: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/42.jpg)
Dock/Tool Windows (Cont.)
• Tool windows that are hidden can be shown via their shortcut key or most are found under one of the following menu locations:– View– View->Other Windows– Debug->Windows
![Page 43: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/43.jpg)
Window Layouts
• Four Layouts:– Design View– Full Screen– Debugging View– File View
• Shift-Alt-Enter to toggle between Full Screen mode and Design View
![Page 44: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/44.jpg)
Toolbars
• Drag and drop customization• Visible based on current context• Right click to display any toolbar at any time• Customization dialog– “Show Shortcut Keys in Screen Tips”– Full customization of all toolbars while this dialog
is visible
![Page 45: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/45.jpg)
Context Menu Customization
• Complete editing of any context menus• Tools->Customize• Select Toolbars tab• Check “Context Menus”
![Page 46: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/46.jpg)
ADVANCED DESIGN TIME TIPS
![Page 47: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/47.jpg)
Quick Launch
• In Title Bar• Ctl-Q to place cursor
![Page 48: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/48.jpg)
Command Window
• Ctl-Alt-A to open the command window• Enter a > to run any VS command from the
command prompt– Full Intellisense for commands, arguments, and
even file paths– Command aliasing• ? = Debug.Print• Enter “alias” by itself to see current aliases
![Page 49: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/49.jpg)
Task Window
• Custom Tasks• Task Shortcuts• Comment Tasks
![Page 50: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/50.jpg)
External Tools
• How to add external tools?– Redirecting console output to Output Window– Passing arguments
![Page 51: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/51.jpg)
Code Definition Window
• Ctl-\,D to show the Code Definition Window• This window is a read-only source view of any
symbol currently selected in the live editor. – Code can be copied from this window– Breakpoints can be set
![Page 52: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/52.jpg)
DEBUGGING
![Page 53: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/53.jpg)
Common Shortcuts
• F5 to start debugging• Ctl-F5 to start without debugging• F11 to step into the current line• F10 to step over the current line• Shift-F5 to stop debugging
![Page 54: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/54.jpg)
Breakpoints
• F9 to toggle a breakpoint – Or, simply click in the left border of the code
editor• Ctl-Shift-F9 to delete all breakpoints• Ctl-B to show Break at Function dialog
![Page 55: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/55.jpg)
Breakpoints - Advanced
• Breakpoint Context Menu– Location– Condition– Hit Count– Filter– When Hit
![Page 56: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/56.jpg)
Next Statement Manipulation
• Yellow arrow = “NEXT” statement to execute• Can be dragged to new location– Within Limits– Be careful
![Page 57: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/57.jpg)
Debugging Threads
• Ctl-Alt-H brings up the Threads tool window
• At breakpoints all threads break together• Threads can be frozen/thawed from the
Threads tool window – This keeps them paused when execution
continues• Threads toolbar also exposes functionality
![Page 58: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/58.jpg)
Break On All Exceptions
• Ctl-Alt-E to bring up Exceptions dialog• It is common to break when a CLR exception is
“thrown” – This will break even when the exception is caught
by a try/catch block
![Page 59: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/59.jpg)
Variables Windows
• They Are:– Locals (Ctl-Alt-V,L)– Autos (Ctl-Alt-V,A)– Watch (Ctl-Alt-W,1-4)– Quick Watch (Ctl-Alt-Q)
• All have similar functionality– All display values of variables and allow for in-
place editing• Provides access to debugging visualizers
![Page 60: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/60.jpg)
Runtime Variable Tooltips
• Provides ability to view all of an objects properties and manipulate the values directly in the tooltip
• Provides access to debugging visualizers
![Page 61: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/61.jpg)
Debugging Visualizers
• Special user interfaces used to view the values of specific data types in variable windows or runtime tooltips
• Noted by the magnifying glass icon near the value– Click to open visualizer
• Notable visualizers:– Datasets– Test– XML– HTML
![Page 62: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/62.jpg)
Immediate Window
• Ctl-Alt-I to bring up the Immediate Window• The immediate window can be used to execute
statements and evaluate expressions in the context of the current statement– Access to any variable in scope is granted– Can assign values to variables, read values, execute
methods, etc• Use the “>” character to allow entry and use of any VS
commands (as in the Command window)• Command window has much of the same functionality
![Page 63: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/63.jpg)
Son of Strike (SoS)
• SoS is a debugger extension that is loaded with VS.NET and available from within the IDE from the Immediate Window
• To load SoS:– Edit your project properties and, under the Debug tab,
check the “Enable Unmanaged Code Debugging”– Open the Immediate Window and enter:
• .load sos
– For help, enter:• !help
![Page 64: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/64.jpg)
Debugging The BCL
• Microsoft has made many of the debug symbols for the Base Class Libraries available for public use– What does this mean?– Does this mean .NET is open source?
![Page 65: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/65.jpg)
Debugging into the BCL
• How can I hook this up?– Options->Debugging->General– CHECK “Enable .NET Framework Source Stepping”
• Loading Symbols– From the Modules window or the Call Stack, right
click on a BCL DLL and select “Load Symbols”
![Page 66: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/66.jpg)
VISUAL STUDIO EXTENSIONS
![Page 67: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/67.jpg)
Extension Manager
• Extensions and Updates• Common Ones I Use:– Microsoft Web Developer Tools– NuGet Package Manager– Productivity Power Tools 2012– VSCommands for Visual Studio 2012– Web Essentials 2012
![Page 68: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/68.jpg)
President
Kevin Grossnicklaus
http://architectnow.net or @kvgros
800.362.3919 x 101
636.236.3279
![Page 69: St. Louis Days of .NET 2013: Visual Studio Tips and Tricks](https://reader036.vdocuments.us/reader036/viewer/2022081602/55660632d8b42aa6628b4cc7/html5/thumbnails/69.jpg)
Conclusion
Thank you for coming!