Tuesday, October 16, 2007

IDEA 7 - A Release Too Early?

I downloaded the new IDEA 7 release today, and pondered buying the upgrade licence, but went with the 30 day trial first. Here's a little video I made of an editing bug that I noticed immediately.

(If anybody can figure out how to get a .swf into a blogger page, please tell me how. Blogger just mangled any HTML I used to do it.)

Another niggle is that, including the milestone releases, the inspections that use @Nullable and @NotNull seem not to be present, and with no mention of why. Hopefully they're now just in some plugin that I don't happen to have installed. That's a bit of a show-stopper for me, I changed my coding style to use those annotations. I'd have to convert to FindBugs' equivalent to continue using that coding style.

5 comments:

  1. Anonymous10:41 am BST

    Did you ever tried at least to search "@Nullable" in built-in
    help?

    I mean *really*, do you *really* suppose that @Nullable is broken in all milestones and even in release? An nobody found that?

    About completion "bug" - if you can reproduce this so that you able to record it - isn't the right place to write it the JetBrains JIRA?

    I wonder how such silly things ever come to Java blogs top read entries. Good headline I suppose.

    ReplyDelete
  2. I searched for it in Google. Built-in help is for unusable programs.

    As it happens, after your prompt, I've checked the built-in help, and the pictures in the help aren't even present (little boxes with red crosses in them). Very polished. It also doesn't actually answer my question.

    I asked a number of other developers, but I couldn't find another person who actually uses @NotNull. Can you confirm that, say, @NotNull String x=null; gives a warning/error on your system? And what message it gives.

    About adding it to JIRA, I have every intention of doing so.

    ReplyDelete
  3. Anonymous6:23 pm BST

    To get @NotNull/@Nullable warnings, you need to:
    * Have the "annotations.jar" in your classpath
    * Enable the "Constant Conditions & exceptions" inspection. (I'm not sure if it's enabled by default)

    If those conditions are met, you'll indeed get a warning for the statement you quoted.

    The warning given is: "null is assigned to a variable that is annotated with @NotNull"

    Adding a JIRA ticket for your completion bug is a good idea. I haven't experienced the behavior you describe during 6 months of IDEA 7.0 milestones usage.

    But if it's reproducible, a fix is usually made within a few days. (Although it might take some time before 7.0.1 is actually released)

    ReplyDelete
  4. I've met both those conditions, but to no avail. The inspections work fine in IDEA 6 for me.

    I'll try afresh on another computer sometime.

    One point I should note about the video is that there was a pause in editing responsiveness just before the 'texts' appeared. Looks like a race condition, which is probably why it hasn't happened to you, and doesn't happen every time for me.

    Thanks for your input.

    ReplyDelete
  5. Anonymous6:43 pm BST

    Ricky,

    Please create two JIRA tickets for the problems you experienced: http://www.jetbrains.net/jira/

    Thanks

    ReplyDelete