Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

This document is a work in progress.

This topic describes the comparingReferences sample plugin that creates a custom inspection of Java code. In addition, the sample plugin contains a JUnit-based test. Basing on this information, you can develop your own plugins using similar techniques.

About Code Inspections

IntelliJ IDEA provides tools designed for static code analysis (so called code instections) that help you maintain and clean up your code without actually executing it. In IntelliJ IDEA you will find a set of built-in inspections that are grouped by their goals and sense. For more information about code inspections, see Inspecting Source Code in IntelliJ IDEA Web Help.
You can create custom inspections through the IntelliJ IDEA interface (see Creating Own Inspections ). Alternatively, you can develop a plugin to implement a custom inspection.

Used Techniques

The comparingReferences sample plugin illustrates the use of the following techniques:

Sample Plugin

The comparingReferences sample plugin is available in the <%IDEA project folder%>/community/samples/comparingReferences> directory.
When launched, this plugin adds the '==' or '!=' instead of 'equals()' item to the Probable bugs node in the IDEA Inspections list .

Running the Plugin

To run the sample plugin

  1. Start IntelliJ IDEA and open the comparingReferences plugin project saved into the <%IDEA project folder%>/community/samples/comparingReferences directory.
  2. Ensure that the project settings are valid for your environment. If necessary, modify the project settings.
    To view or modify the project settings, on the toolbar, click , and then complete the Project Structure dialog box that opens.
  3. Run the plugin by choosing the Run | Run on the main menu.
    If necessary, change the Run/Debug Configurations .

Configuring the Plugin

Once the plugin is launced, you can set the plugin options.

To configure the sample plugin

  1. In the IDEA main menu, choose File | Settings, and then under Project Settings click Inspections.
  2. In the list of the IntelliJ IDEA inspections, expand the Probable bugs node, and then click '==' or '!=' instead of 'equals()'.
  3. Under Options, you can specify the following plugin settings:
    • From the Severity list, select the severity level (such as Warning, Info, etc.)
    • In the text box under Severity, specify the semicolon separated list of Java classes to be affected by this code inspection.
  4. When finished, click OK.

How It Works?

The plugin inspects your code opened in the IntelliJ IDEA editor or the code you are typing. The plugin highlights the code fragments where two variables of the reference type are separated by == or != and proposes to replace this code fragment with *.equals():

In this example, the s1 and s2 are variables of the String type. Clicking Use equals() replaces

with the code:

Testing the Plugin

The sample plugin contains the TestThisPlugin Java class in the testSource/testPlugin package and the test data in the <plugin directory>/testData directory.
The test program covers two test cases. To perform the plugin test, run the YourTest.test() or YourTest.test1() method.

For detailed information about testing and all related procedures, refer to Testing and Testing Support in the IntelliJ IDEA Web Help.

  • No labels