Code Inspection and Quick-Fixes in JavaScript
The key features of ReSharper's code analysis are also supported in JavaScript. You can find the detailed information on these features in the corresponding topics of the Code Analysis section. In the main topic of the section, you can also find the feature matrix and check what exactly is supported in JavaScript.
In this topic, you can find some examples of using code analysis features in JavaScript:
Code Inspection
ReSharper's static code analysis can detect about a hundred different errors and problems in JavaScript 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 JavaScript, open the Code Inspections | Inspection Severity options page, and then switch to the JS tab.
Resolving global variables
ReSharper highlights usages of undefined variables as warnings. There are cases, however, when these usages are valid. For instance, some variables can be defined directly in the markup.
One way to deal with this, is to
disable or suppress the corresponding code inspection.
However, you can define such variables using the
// global
comment. In this case, the inspection will stay active and help you to find
typos in variable names.
You can place these comments either at the top of the current file or use a single file for all
global variables of the project. Each variable requires a new comment, e.g.:
// global variableName
Quick-fixes
ReSharper provides dozens of quick-fixes for JavaScript. Here are some examples:
Create from usage
This is one of the most useful quick-fixes. Whenever you use anything that was not declared, ReSharper can help you create a valid declaration taking into account the usage and the surrounding context.
Specify qualifier explicitly
In case an explicit qualifier is missing, use this quick-fix to add a qualifier.
Declare local variable
When ReSharper finds out that a variable has been assigned without being declared, use this quick-fix
to transform the assignment into a variable declaration.