Print
Add To Favorites
Email To Friend
Rate This Article
|
VS 2010 Code Intellisense Improvements (VS 2010 and .NET 4.0 Series)
|
Published:
22 Oct 2009
|
Abstract
In this article, you will master the improvements made to the Intellisense in Visual Studio 2010. Scott initially provides a side-by-side comparison of Intellisense support between Visual Studio 2008 and 2010. He also examines the new filtering mechanism with which developers can search for keywords and types including a reference regarding Pascal Case Intellisense. |
|
by Scott Guthrie
Feedback
|
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days):
29585/
43
|
|
|
Introduction |
Republished with Permission - Original Article
This is the tenth in a series of blog posts I’m doing on the upcoming VS 2010
and .NET 4 release.
In today’s blog post I’m going to cover a small but really
nice improvement to code intellisense with VS 2010 – which is its ability to
better filter type and member code completion. This enables you to more
easily find and use APIs when writing code.
|
Code Intellisense with VS 2008 |
To help illustrate this intellisense improvements coming
with VS 2010, let’s start by doing a simple scenario in VS 2008 where we want
to write some code to enable an editing scenario with a GridView control.
We might start off by typing “GridView1.Edit” to bring up
intellisense to see what Edit members are available on the control. Doing
this with VS 2008 brings up the intellisense drop-down and filters the current
location in the dropdown to the members that start with the word “Edit”:
Figure 1
This is great if the method/property/event we want to work
with starts with “Edit” – but doesn’t really help us if the “Edit” member we
are looking for starts with something else (for example: the “RowEditing” event
or the “SetEditRow()” helper method). We have to either manually scroll up
and down looking for the other edit members, or pull up the object browser or
help system to find them.
|
Code Intellisense with VS 2010 |
Let’s now try out the same scenario with VS 2010. When
we type “GridView1.Edit” within VS 2010 we’ll find that the EditIndex property
is still highlighted by default. But the intellisense list has also been
filtered so that it enables you to quickly locate all other members that have
the word “Edit” anywhere in them:
Figure 2
This allows us to quickly see all of the edit
related methods/properties/events and more quickly find what we are looking
for.
|
Searching for Keywords |
This new intellisense filtering feature of VS
2010 is useful for searching for any member – regardless of what word it starts
with. For example, if we want to enable paging on a datagrid and can’t
remember how to-do it, we could just type “GridView1.Paging” and it would
automatically filter out everything but members that have the word
paging. Notice below how no members on the GridView class actually start
with the word “Paging” – but I am still finding the two members that do have
paging in them later in their names:
Figure 3
|
Searching for Types |
This new intellisense filtering capability of
VS 2010 is also useful for quickly finding classes and types. For example, when
we type “List” to declare a variable, the editor will provide automatic
filtering to show all types that have the word “List” somewhere in them
(including IList<> and SortedList<> – which do not start with
List):
Figure 4
This makes it much easier to find type names
you can’t entirely remember – without having to resort to searching through the
object browser and/or using help documentation.
|
Pascal Case Intellisense |
The .NET Framework naming guidelines specify
that type and member names should be “Pascal Cased” by default. This
means that each word in a type or member should start with a capitalized letter
(for example: PageIndexChanged).
VS 2010’s intellisense filtering support now
enables you to take advantage of this to quickly find and filter methods based
on their pascal naming pattern. For example, if we typed “GridView1.PIC”
VS 2010 would filter to show us the members that have PIC in their name, as
well as those members which have a pascal cased name where the word segments
start with that letter sequence:
Figure 5
Notice above how PIC caused both “PageIndexChanged” and
“PageIndexChanging” to show up. This saves us a few keystrokes when
resolving either member or type names.
|
Summary |
I think you’ll find that the new intellisense filtering
approach in VS 2010 makes it easier to quickly find and use classes and members
when writing code. You can take advantage of it with both VB and C#.
Hope this helps,
Scott
P.S. In addition to blogging, I have recently been using
Twitter to-do quick posts and share links. You can follow me on Twitter at: www.twitter.com/scottgu
(@scottgu is my twitter name)
|
Resources |
|
|
|
User Comments
No comments posted yet.
|
Product Spotlight
|
|