UML-like Diff Tool

Konstantin Bulenkov

If you’re a lucky owner of IntelliJ IDEA 9 Ultimate Edition, you’ll be surprised to find a new action in VCS History panel: view all changes made in commit in a single dialog. This feature makes it simpler to understand what a commit author made in his change.

To start using this feature, invoke Show History action for any file, then select revision you’d like to investigate, and then click UML icon (or press Control+Shift+D).

This opens the following diff dialog:

As you can see, 3 changes are made in, Rounded interface and RoundedButton class. By default, green color marks what was added, blue is for changed, and gray, guess what — deleted. Well, what else can we see here? RoundedButton class doesn’t extend JComponent and does not implement ButtonModel interface anymore, but instead it extends AbstractButton class and implements MouseListener and KeyListener interfaces. Also, author has changed method paint and removed method isPressed. Interface Rounded was added from scratch and some properties were modified, added and removed in file. Double click on a node shows standard diff dialog.

You will be able to enjoy this UML-like Diff Tool in next EAPs and also in the nearest IntelliJ IDEA 9 update.

Comments below can no longer be edited.

6 Responses to UML-like Diff Tool

  1. lzap says:

    February 12, 2010


  2. Andrei says:

    February 12, 2010

    Neat, can we have this in the changes toolwindow, too, for each revision?


  3. Fedor Isakov says:

    February 12, 2010

    Cool, but please make it visually easier to understand whether a link was created/deleted/modified; the color simply doesn’t do the trick. For example:

    created reference: –*–*–*–*–
    deleted reference: –x–x–x–x–
    modified reference ~~~~~~~~~~

  4. Sindisil says:

    February 24, 2010

    Looks very interesting.

    Any chance of seeing first class support for Mercurial in IDEA?

  5. Konstantin Bulenkov says:

    February 24, 2010

    2Fedor: Hmm, that’s a nice idea. Thanks

  6. Phil Rolfe says:

    June 18, 2010

    I agree with Fedor about decorating the lines more to indicate the changes. I would also like to see the color for deleted to be more greyed out. Also, if you could add a cross through text on the method names, etc… that are deleted and the same more greyed out color change. Nice feature. Thanks.


Subscribe for updates