1. Microsoft Visual Studio 2012|Code Tips
Usman ur Rehman Ahmed
Audience Marketing Manager (AMM), Microsoft Pakistan
2. Code Pointers
NAMED
REGIONS
DRAG & DROP
CODE
INTELLISENSE CTRL + SPACE
QUICK LAUNCH
Ctrl + Q
PREVIEW
TAB
SEARCH AND
SYNC
CODE CLONE
ANALYSIS
AUTO –
IMPLEMENTED
PROPERTIES
GO TO
DEFINITION
CODE
MAP
SURROUND
WITH
3. LINES OF
CODE
DISPLAY NUMER
OF LINES
ALL IN ONE
CODE
FRAMEWORK
GO TO SPECIFIC
LINE NUMBER
PASCAL CASE
TYPING
METHOD
NAMING
METHOD
CHAINING
OFFLINE
HELP
ALT +
HIGHLIGHT
COMMENT
CODE BLOCK
USE PHYSICAL
KEYBOARD ON
EMULATOR
Equals(object);
GetHashCode();
GetType();
ToString();
4. # region
# endregion
– lets you specify a block of code that
you can expand or collapse
– #region name
– name is the name you want to give to
the region
– The region block must be terminated
with a #endregion directive
NAMED
REGIONS
5. Paste Code Blocks in Toolbox
– You can reuse the code without having
to type over and over again
– Place it in a toolbox under one of the
sections or create your own one
– Drag and drop as required
– It will now be available in all your
projects
DRAG & DROP
CODE
6. Select a code block (highlight it)
Drag and Drop to Toolbox (recommended: rename)
7. Ctrl Key
– IntelliSense provides
an array of options
that make language
references easily
accessible.
– Auto - suggestions
– Hold down the Ctrl key
to see through the
code hidden behind
the IntelliSense
INTELLISENSE
11. Solutions Explorer -> Search & Sync
– Enter keyword to Search for
results within the project
SEARCH AND
SYNC
– Sync Solutions Explorer to
the currently active tab
12.
13.
14. Similar fragments of code
– Separate fragments of code
that are very similar
– Find clones and refactor them
– Find clones of a specific
fragment or find all clones in
your solution
CODE CLONE
ANALYSIS
16. Code Clones in Entire Solution
– "Analyze solution for Code Clones" is only available in Ultimate
and Premium editions of Visual Studio 2012
17. What is Found?
• Renamed Identifiers
• Insert and delete
statements added
• Rearranged statements
What is Not Found?
• Type declarations are not
compared
• Analyze Solution for Code
Clones will not find clones
that are less than 10
statements long. However,
you can apply Find matching
clones in solution to shorter
fragments
• InitializeComponent
methods
18. PROP / PROPFULL
– prop
• public string Name{get; set;}
– propfull
• private string _Name;
public string Name
{
get { return _Name; }
set { _Name=value; }
}
AUTO –
IMPLEMENTED
PROPERTIES
22. One Job for One Method
– There should be only one job for one
method
– Ideally, seven to thirty lines of code in
one method
LINES OF
CODE
23. Tools -> Options -> Text Editor ->
All Languages -> Line Numbers
DISPLAY NUMER
OF LINES
24. Group related code together
– Code related to one
instance should be
together
– E.g. properties related
to one TextBlock
should be together
ALL IN ONE
CODE
FRAMEWORK
25. Ctrl + g
– Specify the line number
– You will be jumped to that line
automatically
GO TO SPECIFIC
LINE NUMBER
26. Pascal Case Methods
– Type initials of every pascal case
methods
– E.g. BookAnotherFlight will be
accessible by BAF
PASCAL CASE
TYPING
27. Noun-Verb Convention
– Use verbs or verb cases to name
methods
– Verbs describe the action
– Use Pascal Case
• RemoveAll()
• GetCharArray()
• GroupedItem()
METHOD
NAMING
28. Invoke Multiple Method Calls
– Core concept behind it is to allow for
better readability
– Reduces the amount of code
METHOD
CHAINING
29. Offline Help Content
– Help ->
– Set Help Preferences ->
– Launch in Help Viewer
– Help -> View Help
OFFLINE
HELP
32. Comment Chunks of Code
–COMMENT:
• Ctrl + KC
–UNCOMMENT:
• Ctrl + KU
–/// <summary>
COMMENT
CODE BLOCK
33. Page up / page
down Key
USE PHYSICAL
KEYBOARD ON
EMULATOR
34. OBJECT Class
– Ultimate base class of all classes, all classes derived from it
(parent class of every other class)
– Inheritance not required to be declared as it is implicit.
– FOUR methods of OBJECT class available by default in a class’s
object
• Equals(Object) – Determines whether the specified object is
equal to the current object.
• GetHashCode() – Generates a number corresponding to the
value of the object to support the use of a hash table.
• GetType() – Gets the Type of the current instance.
• ToString() – Returns a string that represents the current
object.
Equals(object);
GetHashCode();
GetType();
ToString();
Notas do Editor
The green highlighting shows the last items that were added to the map. The green arrow shows your cursor’s position in the code. Arrows between items represent different relationships. You can get more info about items on the map by examining their tooltips.the Visual Studio suite of products utilizes an XML language called Directed Graph Markup Language (DGML) to describe and define graphs. DGML is used to generate Code Maps in Visual Studio 2012.