UML-like Diff Tool

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 layout.properties, 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 layout.properties 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.

This entry was posted in New Features and tagged , . Bookmark the permalink.

6 Responses to UML-like Diff Tool

  1. Andrei says:

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

    Thx,
    Andrei

  2. Fedor Isakov says:

    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 ~~~~~~~~~~

  3. Sindisil says:

    Looks very interesting.

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

  4. Konstantin Bulenkov says:

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

  5. Phil Rolfe says:

    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.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>