| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <document xmlns="http://maven.apache.org/XDOC/2.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| |
| <head> |
| <title>Importing and debugging in IntelliJ IDE</title> |
| <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"/> |
| <script type="text/javascript" src="js/anchors.js"/> |
| <script type="text/javascript" src="js/google-analytics.js"/> |
| <link rel="icon" href="images/favicon.png" type="image/x-icon" /> |
| <link rel="shortcut icon" href="images/favicon.ico" type="image/ico" /> |
| </head> |
| |
| <body> |
| <section name="Content"> |
| <macro name="toc"> |
| <param name="fromDepth" value="1"/> |
| <param name="toDepth" value="1"/> |
| </macro> |
| </section> |
| |
| <section name="Import Checkstyle Project"> |
| <p> |
| If no project is currently open in IntelliJ IDEA, click Import Project on the |
| Welcome screen. Otherwise, select File > New > Project from Existing Sources<br/><br/> |
| <img alt="screenshot" src="images/gui_screenshot_importing_idea.png"/> |
| <br/><br/> |
| <img alt="screenshot" src="images/gui_screenshot_importing_idea1.png"/> |
| <br/><br/> |
| Then Next > Next > ... Until Finish. |
| </p> |
| <p> |
| Generate sources that a required by checkstyle |
| by right click over pom.xml file and click on menu "Maven / Generate Sources and Update Folders" |
| <img alt="screenshot" src="images/gui_screenshot_idea_generate_sources.png"/> |
| <br/><br/> |
| </p> |
| </section> |
| |
| <section name="Debug"> |
| <p> |
| Open the Check's source file by double click on it in a source tree as is shown:<br/><br/> |
| <img alt="screenshot" src="images/gui_screenshot_select_check_idea.png"/> |
| <br/><br/> |
| Debug the Check by putting the breakpoint at controversial place (double-click) |
| on the left part of line number as it is shown:<br/><br/> |
| <img alt="screenshot" src="images/gui_screenshot_debug_idea.png"/> |
| <br/><br/> |
| Then right-click the corresponding Unit-test file or class definition > Debug |
| "testName"<br/><br/> |
| <img alt="screenshot" src="images/gui_screenshot_ut_select_idea.png"/> |
| <br/><br/> |
| Then manage you debug operations F8 (Step Over), Shift+F8 (Step Out), |
| F7 (Step Into), Alt+F9 (Run to Cursor) |
| </p> |
| </section> |
| |
| <section name="Organize Imports"> |
| <p> |
| One of the Checkstyle checks we run on our own code require certain order of import |
| statements. Few changes in IDE settings are required to help your IDE do it automatically.<br/> |
| To change formatter settings please go to File->Settings in menu.<br/> |
| Then in the tree go to: Editor->Code Style->Java, open Import tab (follow numbers on a |
| picture) and apply settings highlighted:<br/><br/> |
| <img alt="Organize Imports settings in IDEA" src="images/gui_screenshot_organize_imports_idea.jpg"/> |
| <br/> |
| </p> |
| </section> |
| |
| <section name="Inspections"> |
| <p> |
| Checkstyle has its own very strict set of inspections. To import and enable them go to |
| Settings -> Editor -> Inspections -> Manage -> Import... and locate file |
| <code>config/intellij-idea-inspections.xml</code>.<br/><br/> |
| <img alt="Inspections in IntelliJ IDEA" src="images/gui_screenshot_inspections_idea.png"/> |
| <br/><br/> |
| Not all files in repository should be analyzed. For example test input files contain numerous |
| violations on purpose. Our shared inspection scope can be used to exclude such files.<br/> |
| To add custom scope copy file <code>config/intellij-idea-inspection-scope.xml</code> |
| to <code>.idea/scopes</code> directory. |
| Command from root of repo is |
| <code>mkdir -p .idea/scopes; cp config/intellij-idea-inspection-scope.xml .idea/scopes/</code><br/> |
| Now it should be ready to use in inspect code window:<br/><br/> |
| <img alt="Scope for inspections" src="images/gui_screenshot_scope_idea.png"/> |
| </p> |
| </section> |
| |
| <section name="Disable Auto Indent On Paste"> |
| <p> |
| IDEA has it's own rules of indentation when pasting code and it applies these rules to |
| all the lines of the copied code. This may result in wrong formatting of code in many |
| checkstyle files. A simple solution to this problem is by using the key combinations |
| <code>Ctrl + Shift + Alt + V</code> or <code>Edit | Paste Simple</code>. However it is |
| recommended that this settings be changed by default as shown below |
| <img alt="Disable Auto Indent on Paste" src="images/gui_screenshot_disable_indent_paste_idea.png"/> |
| </p> |
| </section> |
| |
| </body> |
| </document> |