Code inspection and quick-fixes in Visual Basic .NET
Last modified: 21 July 2022Almost all ReSharper's code analysis features available in C# (except for Value tracking) are also supported in VB.NET. You can find the detailed information on these features in the corresponding topics of the Code analysis section.
In this topic, you can find some examples of using code analysis features in VB.NET.
Code Inspection
ReSharper's static code analysis can detect more than 150 different errors and problems in VB.NET code.
The analysis is performed by applying code inspections to the current document or in any specified scope.

To look through the list of available inspections for VB.NET, open the Code Inspection | Inspection Severity page of ReSharper options (Alt+R, O), and then expand the VB.NET node.
Solution-Wide Analysis
ReSharper not only analyzes errors in the current file, but also inspects the whole solution taking the dependencies between files into account. It 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 powerful analysis features that allow you to see how values and method calls flow through your code. The list of available features depends on the 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 the quick-fix to remove all such directives from a file.

Import type
If 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' modifier
Asynchronous operations have some advantages over synchronous programming, so ReSharper keeps pace with the times and thoroughly supports the language features for asynchronous programming.

GetQuotesAsync
function contains the await
operator, but the function isn't defined as asynchronous. ReSharper detects such a mismatch and prompts you 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 type
If the type of a method's argument doesn't match the type of the corresponding method parameter, ReSharper suggests changing the type of the 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 the 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 a method.

