For some reasons, you may want to partly disable a specific inspection, i.e. ignore some code issues while continuing to detect the other issues with this inspection.
For example, CLion considers some code to be "dead", and you can see that it is true. The inspection is helpful and you do not want to disable it. However, you may want to use this code later and do not want it to be highlighted in the editor or appear in the issue reports.
To do so, CLion allows you to suppress certain inspections for a specific statement, function/method, tag or file. You can do it either in the editor, using the suggestion list or in the Inspection Results tool window when analysing inspection results.
Let's summarize the difference between suppressing and disabling code inspections:
Some code inspections (e.g. those detecting errors) cannot be suppressed.
Suppressing inspections in the editor
To suppress an inspection in the editor
- Set the cursor to the highlighted code issue in the editor.
- Press Alt+Enter, or click the light bulb icon to expand the suggestion list.
- Depending on the issue, you will see either quick-fixes related to the inspection or the Inspection "<inspection name>" options item.
- Use the up/down arrow keys to select this item and then press the right arrow key or just click the right arrow next to this item.
Pressing the left arrow key, or Escape hides the suggestion list.
- In the inspection options list, select the desired suppress action: The inspection will be suppressed with special comments in the corresponding piece of code.
Suppressing inspections from the Inspection Results tool window
To suppress inspections from the Inspection Results tool window
- After running code analysis, select a code issue, for which you want to suppress the inspection, in the Inspection Results Tool Window.
- Click the button Suppress and choose the scope of sustension, or just right-click the selected inspection.
- Choose the desired suppress action. For example: The inspection will be suppressed with special comments in the corresponding piece of code.