Code Navigator

Compatible with IntelliJ IDEA
Jan 28, 2017
40 270
Understanding other people's code or your own code in complex systems is a challenging problem in software development. This plugin supports developers in learning the dependencies and couplings in object oriented systems. Three major plugin-functions can be used:
  • class cloud diagram
  • graphical navigation between dependent classes
  • creation of UML diagrams
The class cloud diagram should be used as a first step when trying to understand an object oriented system. It shows all project classes in a single diagram as a cloud, very similar to tag clouds known from web-applications. Some of the most important classes can such be found by using the class cloud to be further investigated by using the graphical navigator or the source code. Graphical navigation can be used to find and understand all dependencies (using classes, used classes, extending classes and extended classes of some subject class). As soon as the developer has understood which classes interact in which way, UML diagrams should be created that condense this knowledge. Though it is really helpful to have at least some UML diagrams, many software systems are not documented well or the existing diagrams are totally outdated. This plugin helps to create static class diagrams that always can be kept in sync with the current state of a system. The new functions can be accessed by a new menu item in the Analyze menu of the main menu bar ( Analyze Class Cloud) and two new menu items in the project view and editor popup menus ( Show in Graphical Navigator and Add to UML Diagram).

Download plugin

Recent change notes

Version 1.3:
  • Updated plugin to work with IDEA 2016.3.
Version 1.27:
  • fixed: removed function calls to API methods that do not exist anymore.
Version 1.26(_8):
  • fixed: Path2D.Float is not used anymore, so Mac OS X users should be happy, again.
Version 1.25(_8):
  • fixed: minor bug fixes.
  • added: many NotNull- and Nullable-checks to further improve stability.
  • added: Thumbnail generation for diagrams and graphs
  • added: Source code, generated javadoc and UML class diagrams
Version 1.24(_8):
  • added: search scope can be chosen for class cloud analysis.
  • added: UML diagrams can now be saved as graphml-files (to be opened and layouted with tools like yed, see
  • changed: recompiled all classes with target 1.5, so plugin should be usable for Mac OS X users, too.
Version 1.23(_8):
  • added: undo in diagram creation step editor
Version 1.22(_8):
  • changed: class cloud and graphical navigator graphs are saved with same writer as used for UML diagrams so always a good image quality is achieved
  • added: class cloud diagrams, graphical navigator graphs and UML diagrams can now be saved as SVG files. These vector graphics files can be opened by tools like Inkscape (see
Version 1.21:
  • changed: if diagrams are saved to image files (JPG, PNG, GIF), the images will have a resolution that matches the diagrams size in world coordinates and thus are always readable
  • added: dialog to manually edit diagram creation steps for UML diagrams
Version 1.20:
  • added: class cloud diagram that shows all classes of complete project in a single diagram to find starting points for graphical navigation in order to understand dependencies. Works similar to tag clouds, but for classes.
  • added: class cloud tool window will be opened on demand after a class cloud is computed. If a user selects "Analyze Class Cloud" from the main analyze-menu, all dependencies between all classes will be analyzed and a new tool window will be opened.
  • added: navigation from class in class cloud to graphical navigator
  • added: tool tips in class cloud show fully qualified class name
  • added: navigation from class in class cloud to source code (class source will be shown in editor)
  • added: text input field in class cloud can be used to highlight matching classes in class cloud
  • added: added reset view button to class cloud toolbar
  • changed: added new settings for class cloud and rearranged settings dialog
  • changed: no new layout will be computed automatically when removing classes from UML diagrams
Version 1.17:
  • changed: UML diagrams will now be updated for rename class/package and move class/package refactorings and for corresponding undo operations of rename and move refactorings
Version 1.16:
  • fixed: some minor bugs
  • changed: suggested diagram name for new UML diagrams is now based on selected classes
Version 1.15:
  • fixed: in some cases on slow machines, the graphical navigator did not repaint node labels at the end of an animation
  • fixed: graphical navigator did not always repaint properly on first opening tool window
  • added: new action "jump to graphical navigator" jumps directly to chosen class, shortcut is "ctrl alt shift G"
  • added: graphical navigator draws direct cyclic dependencies between classes in red. Can be disabled in settings dialog.
  • added: visibility of field and method compartments can be changed via node popup menu in UML diagrams.
Version 1.14:
  • fixed: saved diagrams could only be loaded explicitly, if at least one diagram existed
  • added: UML diagram node popup menu items for connecting nodes with more control
  • added: UML diagram edge popup menu items for removing multiple edges at once
  • changed: reorganized UML diagram node popup menu
  • added: if a package is added to a UML diagram, all contained classes are added instead
  • changed: if an opened diagram already exists, the user will be asked whether to replace, skip or rename the diagram instead of always renaming it
  • fixed: rename button in UML diagram tool window toolbar throwed exception, if no diagram existed
  • fixed: "add to new diagram" menu item throwed exception, if IDEA does not use JDK 6 (for example on Macs)
  • added: "add to new diagram" menu item and "show in graphical navigator" menu item are now also accessible from editor tab popup menu
Version 1.13:
  • changed: persistence of settings and diagrams now uses PersistentStateComponent instead of JDOMExternalizable
  • added: added access to settings dialog from graphical navigator and UML diagram tool windows
  • added: one or all diagrams can now be explicitly saved to diagram creation command sequence files as XML
  • added: diagrams can now be explicitly loaded from diagram creation command sequence files
  • added: class in current editor is shown in graphical navigator, if tool window is opened for the first time instead of showing an empty graphical navigator window
  • changed: classes in UML diagrams now show self references for fields
Version 1.12:
  • changed: icon handling refactored
  • added: Help Dialogs in Graphical Navigator tool window and UML Diagrams tool window
Version 1.11:
  • changed: multiple selected classes in project view can be added to UML diagrams with a single action
  • fixed: default colors for classes, interfaces, abstract classes and enums fixed
Version 1.10:
  • added: printing and print preview of graphical navigator
  • added: UML diagram generator
Version 1.04:
  • fixed: graph was not repainted when stepping back or forward in navigation history with animations turned off
  • changed: settings moved from project to application
  • changed: refactoring of action handling
  • added: export of current graph as image (PNG, GIF, JPEG)
Version 1.03:
  • added: buttons to zoom in, zoom out, fit contents
  • added: hand cursor on nodes and edges indicates possible clicks
  • added: tooltips on nodes show fully qualified class names
  • fixed: graph is immediately updated after class visibility (non-project classes or test classes) changes
Version 1.02:
  • fixed: non-project classes no longer show other non-project classes as used classes
Version 1.01:
  • added: setting "show non-project classes"
  • added: setting "show test classes"
  • fixed: classes that contained inner class, that use the subject class where added as using classes