35
Microsoft Visual Studio 2012|Code Tips Usman ur Rehman Ahmed Audience Marketing Manager (AMM), Microsoft Pakistan

Microsoft Visual Studio 2012 | Code Tips Usman ur Rehman Ahmed Audience Marketing Manager (AMM), Microsoft Pakistan

Embed Size (px)

Citation preview

Microsoft Visual Studio 2012|Code TipsUsman ur Rehman AhmedAudience Marketing Manager (AMM), Microsoft Pakistan

Code Pointers

NAMEDREGIONS

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

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

# 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

NAMEDREGIONS

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

Select a code block (highlight it)

Drag and Drop to Toolbox (recommended: rename)

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

CTRL + SPACE

Display IntelliSense

QUICK LAUNCH Ctrl + Q

Ctrl + Q

Menus@menu

Most Recently Used

@mru

Options@opt

Open Document

@doc

Solution Explorer -> Preview Selected Items

PREVIEW TAB

Solutions Explorer -> Search & Sync– Enter keyword to Search for

results within the project

SEARCH AND SYNC

– Sync Solutions Explorer to the currently active tab

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

PROP / PROPFULL

– prop• public string Name{get; set;}

– propfull• private string _Name;

public string Name {

get { return _Name; } set { _Name=value; } }

AUTO – IMPLEMENTED

PROPERTIES

GO TO DEFINITION

Seeing is Believing

– Visualize Code– Point and click your way through

complex code hierarchy

CODE MAP

Ctrl + K,S

SURROUND WITH

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

Tools -> Options -> Text Editor -> All Languages -> Line Numbers

DISPLAY NUMER OF LINES

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

Ctrl + g

– Specify the line number– You will be jumped to that line

automatically

GO TO SPECIFIC LINE NUMBER

Pascal Case Methods

– Type initials of every pascal case methods

– E.g. BookAnotherFlight will be accessible by BAF

PASCAL CASE TYPING

Noun-Verb Convention

– Use verbs or verb cases to name methods

– Verbs describe the action– Use Pascal Case

• RemoveAll() • GetCharArray() • GroupedItem()

METHOD NAMING

Invoke Multiple Method Calls

– Core concept behind it is to allow for better readability

– Reduces the amount of code

METHOD CHAINING

Offline Help Content

– Help ->– Set Help Preferences ->– Launch in Help Viewer

– Help -> View Help

OFFLINE HELP

Highlight text vertically

ALT + HIGHLIGHT

Comment Chunks of Code

–COMMENT:• Ctrl + KC

–UNCOMMENT:• Ctrl + KU

– /// <summary>

COMMENT CODE BLOCK

Page up / page down Key

USE PHYSICAL KEYBOARD ON

EMULATOR

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

THANK YOU