1.6. Use IntelliSense Filteringand AutoCorrect
IntelliSense is one of the great
conveniences of Visual Studio, and it continues to improve in Visual
Studio 2005, with two new features that make it more useful:
IntelliSense filtering and AutoCorrect. IntelliSense
filtering restricts the number of options you see to those
that make sense in the current context.
AutoCorrect goes one step further by
recommending ways to resolve syntax errors, rather than simply
reporting them.
Note: Visual Studio 2005 makes IntelliSense more intelligent by
restricting class names that aren't relevant and
suggesting corrections you can apply to resolve syntax
errors.
1.6.1. How do I do that?
There's no need for any extra steps when you use
IntelliSense filteringit's at work
automatically. As you enter code, IntelliSense prompts you with lists
of classes, properties, events, and more. In Visual Studio 2005, this
list is tailored to your immediate needs, based on various contextual
details. For example, if you're selecting an
attribute to apply to a method, the IntelliSense list will show only
classes that derive from the base Attribute class.To see the new IntelliSense in action, start typing an
exception-handling block. When you enter the Catch
block, the IntelliSense list will show only classes that derive from
the base Exception class (as shown in Figure 1-8). Select the Common or All tab at the bottom
of the list, depending on whether you want to see the most commonly
used classes or every possibility.
Figure 1-8. Filtering for Exception classes only

errors. Every time Visual Studio discovers a problem, it
underlines the offending code in
blue. You can hover over the problem to see a ToolTip with error
information. With AutoCorrect, Visual Studio also adds a red error
icon that, when clicked, shows a window with the suggested
correction.To see AutoCorrect in action, enter the following code (which
attempts to assign a string to an integer without proper type-casting
code):
Dim X As Integer
X = "2"
Tip:
Option Strict catches data type
conversion errors at compile time. To switch it on, double-click My
Project in the Solution Explorer, click the Compile tab, and look for
the Option Strict drop-down listbox.
Assuming you have Option Strict switched on, you'll
see a red error icon when you hover over this
line. Click the red error icon. The AutoCorrect window that appears
shows your code in blue, code to be added in red, and code to be
removed crossed out with a solid line. Figure 1-9
shows the correction offered for this code snippet.
Figure 1-9. Intellisense AutoCorrect in action

aren't fully qualified, misspelled keywords, and
missing lines in a block structure. In some cases, it will even show
more than one possible correction.
1.6.2. What about...
...doing more? There's
still a lot of additional intelligence that IntelliSense could
provide, but doesn't. For example, when assigning a
property from a class to a string variable, why not show only those
properties that return string data types? Or when applying an
attribute to a method, why not show attribute classes that can be
applied only to methods? As computer processors become faster and
have more and more idle cycles, expect to see new levels of
artificial intelligence appearing in your IDE.