Syntax Highlighting

Code Highlighting

When ReSharper detects an error and highlights it with a red curly line or displays an unresolved symbol
in red. Hover the
pointer over the error to display its description as a tooltip. For more information about the ways to
find out why the code
is highlighted, see
Finding Out What is Wrong with
Your Code
. Since ReSharper has its own code inspections, you can specify whether to display them
as
errors
,
warnings
,
suggestions
,
hints
, or not to display at all. For more information about configuring inspections, see
Configuring ReSharper Inspections
.

Solution-Wide Analysis

ReSharper does not only analyze errors in the current Visual Basic .NET file, but also inspects the
whole solution taking
the dependencies between files into account and shows the results of analysis in the Errors in Solution window. For more information, see
Solution-Wide Analysis
.

Inspect This

Inspect This is a shortcut to several analysis features. Those are rather
powerful and allow you to see how values and method calls flow
through you code. The list of available features depends in current context. For more
information, see
Call Tracking
,
Value Tracking
and
Viewing Type Hierarchy
.

Code Completion

Code Completion features help you write code faster by providing a set of items to complete based on
surrounding context.
For more information, see
Code Completion
.

ReSharper filters items in code completion list according to the type expected in current
context. Look at the example below,
only those items that have string type are displayed in the drop-down list.

ReSharper provides completion items for types and extension methods that are not visible through
import directives in current
context.

Examples of Quick-Fixes

Remove redundant 'imports'If none of the symbols from a particular namespace are
used, the corresponding Imports directive is considered as redundant. ReSharper provides a quick-fix to remove all such directives from a file.

Import typeIf you use a symbol from a namespace that is not imported, ReSharper
suggests to import the corresponding namespace and provides
the necessary quick-fix.

Add 'Async' modifierAs you know, asynchronous operation support is a new feature
still being developed. It has some advantages over synchronous
programming. As ReSharper keeps pace with times, this feature is supported since ReSharper 6.1. The
GetQuotesAsync function contains the await operator, but the function isn't
defined as asynchronous. ReSharper detects such mismatch and prompts to improve the code
using the Add 'Async' modifier quick-fix. After applying the quick-fix,
the missing modifier is added to the function declaration.

Change typeIf the type of the method argument doesn't match the type of the
corresponding method parameter, ReSharper suggests to change
the type of argument and provides the necessary quick-fix.

Initialize auto-property from constructor parameter If you have a constructor
parameter and you want to initialize an existing auto-property with parameter's value, use this
quick-fix.

Create method from usage If there is a call of a method that does not exist yet,
ReSharper provides the necessary quick-fix to create such method.

Examples of Context Actions

Add new format itemIf you need to add some runtime data (= dynamic data) to a
string literal, use this context action. It wraps the string literal with the
String.Format method call, adds a placeholder at the current caret position and lets you
specify the corresponding parameter.

Change member visibility If you need to adjust member visibility, ReSharper
provides a context action that allows to do this quickly.

Convert Function to Sub In case you want to convert a Visual Basic .NET Function to
a Sub, there's the corresponding context action as well.

Create overload without parameter For each parameter of a function there's a
context action that will create a function without that parameter which calls
the original function.

Implement memberAfter a base class is defined, the next logical step is to
implement its members in all classes derived from the base class.
You can write code manually, but a better decision is to apply the appropriate context action. ReSharper automatically detects all derived classes and prompts you to decide where
a base class member should be implemented
and generates code.

Rearrange Code

Moving Code Elements
is available in Visual Basic as well. For example, you can move a member declaration up or down within a
type. You
can move a statement out of or into a block of code. For example, to move If statement out of
For Each loop, press Ctrl+Shift+Alt+Left. You can
reorder parameters of a method call or a method declaration. For example, to move FileId
argument to the right, press Ctrl+Shift+Alt+Right.