Skip to end of metadata
Go to start of metadata

Plugin Compatibility

Due to a major internal refactoring, we have made a significant number of backward incompatible changes to the plugin API. Please refer to Diana Plugin Migration Guide for help in updating existing third-party plugins.

Seam Support

1. Seam Facet and Seam Components Structure(Java EE)

2.  Alt-F7, Shift-F6 and EL everywhere


3. Inspections

4.  Conversations, Observers and many others
5. Pageflow Designer: inplace editing, DnD, Alt-F7, Shift-F6, F4 in graph

6. Pages Navigation Graph (DnD of web pages from ProjectStructure)

7.  etc.

FreeMarker Support

Parsing of .ftl files
Reference completion
Rename support
Implicit variables support:


JavaScript Debugging

Run configuration to debug local html files:


Browser opens in separate frame:

Breakpoints in html- and js-files:

Breakpoints dialog allows to change properies of breakpoint:

Debug toolwindow (frames, variables, watches):

Evaluate expression dialog:

Show value in tooltip on mouse over:

SQL Support

Per-file SQL Dialect Settings (See Per-file Encoding Support screenshot below).
SQL92 DDL and query and MySQL DDL dialects support.

DDL DataSource

JDBC API & iBatis XML SQL language injection

Reference navigation and highlighting.

Flex Support

1. New module type for Flex development:

 2. Flex SDK is added for Flex modules:

 3. Flex run configuration

4. Flex debugging:

 5. Package name and class name is checked to be the same as directory or file name respectively:


Per-file Encoding Support

You can configure file encoding individually for the file, all files in the directory, or all files in the project.
Settings are stored in the per-project configuration file which can be shared among the team and version controlled.

"Unwrap/Remove" action (delete enclosing statement)

You can use the action to quickly extract or remove statements from an enclosing statement (such as if, while, for, etc.).
The supported statements are: for, foreach, if..elseif...else, try...catch...finally,, do...while, and lone braces.
The statements to be extracted are highlighted with blue, to be removed - with grey.

Unwrap Example:

The code before unwrapping the first else branch:

The code after unwrapping:

Remove Example:

The code before removing the first else branch:

The code after removing:

Struts 2

The Struts 2 plugin by Yann Cebron is now bundled. See here for more information on the plugin.

Other Improvements

"Revert Changes" action

Action in context menu of a committed changelist applies the reverse patch of that changelist to the current source code. Can be used to revert changes committed by any user, even if it's not the last checkin.

"Use existing implementation" quickfix

For an abstract method with some missing implementation, allows to copy one of the existing implementations to all the places where an implementation is missing. Invoked on the abstract method.

Highlighting of implicit parameters for anonymous classes

New Show Applied Styles window

Tag name completion in XML & JSP

Start a new tag and press Ctrl-Alt-Space:

Choose an item:

Namespace auto-import in XML & JSP

Type a tag with not bound namespace prefix:

Press Alt-Ins and choose a namespace:

Namespace declaration is inserted:

  • No labels


  1. Are you planning to add Spring Web Flow support to Diana (in the same spirit as Seam support - flow designer, navigation graph etc) ?

    1. We would like to, but we don't have a definite plan for this yet.

      1. Anonymous

        I would give a +1 for this and since it is fairly similar to seam, you might get a lot of reuse.

        1. Spring Webflow Designer is under construction and will be added soon

  2. Anonymous

    Add Scala !!! (please)

    1. Our Scala plugin is developed independently, and most likely it won't be ready for bundling into IntelliJ IDEA by the time version 8 ships.

      1. Anonymous

    2. Anonymous

    3. Anonymous

      +1 to scala support, or some snapshots would be nice.

    4. Anonymous

    5. Anonymous

    6. Anonymous

      1. Anonymous

        +1 for scala from me, too

    7. Anonymous

      1. Anonymous

        1. Anonymous

          +1 I'm thinking of jumping back to Eclipse now that the eclipse scala plugin is stable

  3. Anonymous

    Any plans for Velocity templates? At least syntax highlight ...

    1. Yes, Velocity is planned.

      1. Anonymous


  4. Just a small note: I really like these releasenotes pages! Much better than the Jira version. Really nice, thanks!

  5. Anonymous

    Great to see support for JBoss Seam.

  6. Anonymous

    Is there any plan for supporting Python?

      1. Anonymous

        Would it be feature rich like the support you have for Ruby?

        1. We don't initially plan to support any Web frameworks (unlike the Ruby plugin which supports Rails), but otherwise yes.

  7. Anonymous

    Please consider adding Velocity support to IDEA !

    1. Please consider reading existing comments to this page, as well as replies to them, before posting a new one.

  8. Will Flex debugger be available only for ActionScript (i.e. ActionScript classes and code within SCRIPT tag in mxml) or also for MXML itself (e.g. for debugging bindings) ?

  9. How about generated code support? [see IDEABKL-2735 IDEABKL-2874 ]

    1. We still do not understand clearly enough what kind of support exactly is desired. Many of the requested features are achievable with existing IDEA features (e.g. generated code can be attached as a library).

  10. Anonymous

    Any support for Google Android planned?

    1. Not for now, but hopefully the existing plugin will see some updates.

  11. Anonymous

    Will Drools will be supported? Or Jess?

    Need some rule engine support.

    1. No plans for anything like that yet. Third-party plugins are welcome.

      1. Anonymous

        Something new in this topic: plugin support for drools or jess? (i need rule engine support, too)

  12. will support Hibernate HQL editor in the features?

    1. Hibernate HQL is fully supported in version 7.

  13. Anonymous

    I would like to see expanded supported for domain specific languages. I know Jetbrains has worked on a very ambitious project to that effect, but perhaps it was before the market wanted it? Even simpler stuff like being able to provide a grammar for error and syntax highlighting would be fantastic.

    1. Our very ambitious project is alive and well, thanks. (smile)

      Most of traditional grammar files are not a good fit for error highlighting because they don't really support error recovery: after one error they get into an error state and the rest of the file cannot be highlighted correctly. Hand-coded recursive descent parsers, which we use for our own language plugins, do not suffer from this problem, and our plugin API allows you to write such parsers for your own languages since IDEA version 5. So it's not exactly clear what additional support could be provided.

  14. Anonymous

    Is the JSP WYSIWUG is planned in near future or distant future. At least a way to navigate between the JSP designer elements and it's JSP code counterpart like RAD is very much welcome. I have requested this for so many times.  Please include this in Diana.

    1. No, JSP WYSIWYG is not planned for Diana. Can't say anything about versions beyond that.

      1. Anonymous

        Here comes my "WYSIWYG, Please!"

  15. Anonymous

    I'm glad seeing Seam so comprehensively supported!

  16. Anonymous

    Will you be supporting SQLServer dialect?

  17. Besides parsing & such, will you be adding support for execution of SQL in .sql files? Maybe it is there but I didn't discover it.

  18. Anonymous

    Great the SQL support... (wink)

    Any support for Spring 2.5 ?

    1. Not in the current EAP, but it's definitely planned for 8.0 final.

  19. Anonymous

    How about OSGi support?

    1. +10

      Any response from JetBrains?

  20. Anonymous

    My 2 cents: as multicore machines are getting more common, I would like some ability to run JUnit tests in multiple threads at once, to speed them up. (Such test runner threads would have to run in separate JVMs then, to avoid breaking tests that rely on static variables). (If this is something that can easily be achieved with a plug-in, I might consider writing such a plug-in myself.)

    1. Anonymous

      Don't make your tests rely on static variables.

    2. You may give TestNG a try for advanced testing strategies.

  21. Anonymous

    Wish somebody would build a Java IDE that is optimized for pure Java source coding and that is super fast, without tons of J2EE, external framework, you name it here, features that makes it slow and hard to use. Kinda like IntelliJ 2 from 2002.

     Actually, can JetBrains re-release older versions?

    1. Most of the J2EE and external framework features in IntelliJ IDEA are provided as plugins, and you can just turn them off if you feel that they make IDEA slow or hard to use.

      1. Anonymous

        The basic features were faster 5 years ago than in the most recent release, so I don't think turning off the plugins would make it happen.

        1. Why don't give a try??

          I disabled some plugins and modify my idea.vmoptions as this


          And is pretty fast comparing with 5 or 6 versions 

          1. Anonymous

            I have tried different things, but not exactly what you have here, so I will do that.

             IntelliJ is still the best Java IDE out there and it's worth the effort to get the good feeling back.

          2. Anonymous

            Tried these settings and IntelliJ 7.0.3 is still freezing left and right. Especially when it looks up class definitions in the background (for new objects). This behavior was much better in the past and it is really annoying since it is breaking the flow of coding.

             So, I still think they should release a pure Java source code only editor that is optimized for that only. All the other stuff we can do with ant and other proven techniques.

            1. Sorry, what exactly do you mean by "looking up class definitions in the background"?

              Also, to let us understand why exactly a certain performance problem is happening, you can send us a CPU snapshot as described in

  22. Is a Flex visual designer in the roadmap for Diana ?

    1. No, we don't have the resources to implement it in Diana (and most likely after Diana too).

      1. Anonymous

        Hopefully this will be elevated on the roadmap as more and more project are adopting Flex and Silverlight as core components of their development moreso than the 'langauge of the moment'.

  23. Anonymous

    I'd like to see multimode xml files, or correct traversal of relax-ng xml, as used in OpenLaszlo, essentially to be able to use both their declarative XML and the Javascript code inspections.

    1. Unfortunately I don't understand what "multimode XML files" are. For Relax-NG support, there's a third-party plugin available in the plugin manager.

      1. Anonymous

        I'm sorry about being unclear. This is really to be able to edit openlazslo files, they
        can look like this: They essentially are a combo of declarative XML and Javascript, I know
        there was talk about a plugin for OpenLaszlo, this is really based on a relax-ng schema that can
        expend. Unfortunately this is an either / or, and what I'm really after is IDEA's awesome
        xml parsing as well as the JS syntax checking.

        This whole thing I know is tricky as the classing in openlaszlo leads to an extensible
        schema, not a beautiful thing in a xsd/dtd, but the relax-ng plugin will not allow me to
        parse this correctly either.


        <view name="letterclipper" clip="true" width="330" height="100" x="93" y="336" bgcolor="white">
        <method event="oninit">

        <view name="lettercontainer" x="45" y="0"
        bgcolor="gray" width="102" height="0">

        <wrappinglayout axis="x" spacing="12"/>
        <dataset name="lds" src="http:titles_test.xml" type="http" request="true"/>

        <handler reference="lds" name="ondata">
        Debug.write("Current width : " + canvas.letterclipper.lettercontainer.getWidth());

        Debug.write("remotedata test data loaded", this);

        var id;
        var name;
        var iconUrl;

        var nodes = lds.getElementsByTagName("titles")[0].childNodes;
        for (n in nodes)

        Unknown macro: { var float = new letterfloaterImg(this); id = nodes[n].getElementsByTagName("id")[0].childNodes[0].data; name = nodes[n].getElementsByTagName("name")[0].childNodes[0].data; iconUrl = nodes[n].getElementsByTagName("iconUrl")[0].childNodes[0].data; float.create(id,name,iconUrl); //float.setAttribute("resource", "http}



        <method event="oninit">
        this.animate( "x", 0 , 1, false );

        <method name="scrollRight" args="pixels">
        var distX = Math.round(parent.getAttribute("relX") - pixels)
        var actualX = Math.max( Math.min(distX,0) , -this.width/2 );

        Debug.write("Current width: " + this.getWidth());
        if (actualX > distX)

        Unknown macro: { //Don't do jack shit }


        Unknown macro: { this.animate( "x", actualX , 1000, false ); parent.setAttribute("relX",actualX); }

        Debug.write("Distx: " + distX + " to: " + actualX );


        <method name="scrollLeft" args="pixels">

        var distX = Math.round(parent.getAttribute("relX") + pixels)
        var actualX = Math.max( Math.min(distX,0) , -this.width/2 );
        this.animate( "x", actualX, 1000, false );

        Debug.write("Distx: " + distX + " to: " + actualX );



        1. Sounds like you should try the IntelliLang plugin to get support for editing JavaScript inside XML tags.

          BTW: Your code fragment works just fine for me when it is associated with the RELAX-NG schema for OpenLaszlo available here (well, it shows "wrappinglayout" as incorrect, but in fact this tag is not present in the schema either). You need to put your root tag into OpenLaszlo's namespace and associate this with the schema file. This will give full error checking and completion based on the schema.

          If there are specific problems with either the IntelliLang or the RELAX-NG plugin, don't hesitate to ask me either per mail or in the plugin forum. Please note that both plugins are not available for the Diana EAP yet.

          1. Anonymous

            Thank you!!!

            Btw, how did you setup the schema validation of that file?
            If I associate the namespace via a xlmns='' it is still 'failing'
            could be the rnc file I guess?

            IntelliLang was what I needed, many thanks!

            1. The target namespace of the rnc file is "" so you need to add xmlns="" to your XML document like this:

              <view xmlns=""
                    name="letterclipper" clip="true" 
                    width="330" height="100" x="93" y="336" 

              and configure IDEA to let the namespace point to the rnc file in Settings | Resources.

  24. After all the efforts injected to integrate Maven based project in IDEA 7, I think it'd be great to continue on the Maven integration road.

    It might be unclear to some but people having migrated their previous IDEA project to Maven probably understand what I mean. We've lost a few key IDEA feature on the way.
    I can only name the few that comes to mind on the moment:

    • hotswap possibility with a Maven project that filters resources AND use the Maven WAR plugin to filter xml files in the /webapp. (XML files is only an example, but in order to achieve filtering on /webapp contained files you need to use the WAR plugin, and this one is linked to the package goal)
    • benefits from the IDEA checking capability when compile/start a project from Maven goal (Spring context checking, Hibernate mapping , etc...)

    more may come later but I hope you understand my point. Maven is a great tool from the organizational point of view. IDEA has great features form the developer POV (lik hotswap in debug mode), it'd be so good to keep benefits from both sides at the same time.

  25. Anonymous

    Any plans for JavaFX?

    1. Anonymous

      +1 for that.

      A visual builder for JavaFX Script would be really great (and not that difficult I believe)!

  26. Anonymous

    I know it's a bit early, but support for Closures as defined by Neal Gafter et. al. ( would be really sweet. At least have support for that by the time the first Java 7 beta is out. (smile)

  27. Anonymous

    Any plans about Apache Wicket(

    1. Have you tried the existing plugin (WicketForge)? Is it good enough?

  28. Strangely, what I'd really like to see is support for the Haskell programming language.  It'd be interesting to see that inside IDEA.  It has a tricky syntax because, like Python, indentation matters.

    1. That would be too exotic from our point of view. (smile) Definitely not in the plans for version 8.

  29. Anonymous

    Eclipse has identifier highlighting. With the IntelliJ identifier higherligher plugin you can get almost the same effect. It's good but is has glitches. Any chance of cleaning it up and making it part of IntelliJ itself?

    1. Possibly. We wanted to add this highlighting as a core feature at one time, but then decided that the existing plugin was good enough.

  30. Anonymous

    How about support for for web services. love Intellij but for managing/creating wsdl-first webservices Eclipse is much better.

    1. Have you tried the built-in support available in IDEA 7? Please describe in more detail what improvements you would like to see.

  31. Anonymous

    I would love to see support for xml-based java resource bundles

     <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE properties SYSTEM "">
      <entry key="some.message.key">Blurbs</entry>

  32. Anonymous

    would be nice if you could make idea behave like a good citizen in mac os (maybe even in 7 without forcing paying users to upgrade)

     (6 month old and nothing happening at all)

  33. What is about possibility to extend GUI components?

    1. Could you please explain in more detail what exactly you mean?

      1. I'm talking about the same thing that was already pointed out on your blog by Arik Kfir:

        "The worse limitation (still present in demetra) is IDEA's inability to use custom *containers* - e.g. if I created my own class, "MyPanel extends JPanel" - I can't use it as a panel in the designer (can't place other components on it). This poses a very big limitation on large organizations (such as the one I'm at) which have existing components and frameworks which simply can't be used. Yes, I know all about the "you should *use* components, NOT extend them" argument - but it does not always hold water. There are cases when you simply have to do it - both tech-wise and organizational-wise."

        In my case I have a JPanel with all common components and I want to extend it with some special components for some particular purposes. Namely this is the JTabbedPane with little bit different tabs.

        PS: Finally I've found that I can do what I want if I create a Form, bind it to a class that extends my common tab JPanel and will ignore "no binding" errors of UI designer.    


  34. Anonymous

    Is it possible to get back the good old search dialog box instead of Firefox style search. Please let both of them there and let users choose which one they want to use.

    1. What problems exactly do you have with the new find bar? We would prefer to fix those problems rather than clutter the product with two different UIs for the same feature.

      1. Anonymous

        Thanks for asking. Here it goes. In the old search box I get forward/backward direction to choose from which is not present in new find bar. In the old search box I get to choose the Global/Selected Text Scope which is pretty useful if you have a very long file and you just want to search the selected text. In the new find bar this is not there. Also the Origin to choose from is not present in the new find bar. Hope this helps. Once again thanks for listening.

        1. Anonymous

          I agree.  The new firefox style search messed up my flow.  Maybe you guys can provide the option of switching between the two.

      2. Anonymous

        Like the ="" issue below, this one is also about flow.  In earlier versions, I'd press Ctrl+F, type in my string, press enter, then i can navigate around while continuously finding things.  I can use alt+arrow keys to move between methods, navigate from one work to another after finding the first match, etc. 

        With the new firefox style search, i have to run my search, then move my hand to the mouse then click inside the editor, before i can start navigating within.  I tend to press Esc instead, which cancels out the search.

        I'd much prefer the older find style.


      3. Anonymous

        One more thing about this find bar is if you open that bar and then move to some other file then again if you come back to that file the bar is still open. I might not want to search again. Please have both the old and new search. Please give me choices to use which one is better suited for me.. It won't do any bad.

      4. I agree with the flow problem. I press Enter and start to write which break the searched string of course. Enter should close the box because now it only duplicates arrow down. I can adjust to new flow with arrows working like F3/shift+F3 (cool thing), but Enter really can close the bar - or at least return focus to editor - now Enter is no good there.

        I use Idea 7 for few months now and from my experience Enter returning focus to editor would be 80% enhancements (considering ratio of cases where I enter the string and press enter without using any other options).

        1. Now I experimented more with Esc vs. Enter... and even Esc works LIKE Enter + it closes the bar and returns focus to editor. This seems completely unnatural. I have "this string" last searched... F3 searches for this - OK, now I press Ctrl+F and start "that string" and I said to myself .oO(no, I don't want to search this), press ESC. Then I press F3 for... "that string"??? What the heck? I wanted to search for "this string" because I *cancelled* searching for "that string".

          Bar or dialog - doesn't really matter. I like incremental search, but ESC shoud:

          - return you to previous location (or make it optional at least)

          - forget that string and don't store it into history

          Enter shoud (as said before) escape the bar and put caret into editor to first occurence. My two cents. 

  35. Anonymous

    Can you smooth out the way attributes are added to new XML elements?  Let me illustrate the problem, using the pipe character "|" to indicate cursor position:

    1. I start an XML element, like c:if:  <c:if |
    2. IDEA adds the ="": <c:if |=""
    3. I add an attribute, like "test".  IDEA moves the cursor inside the quotes: <c:if test="|"
    4. I type in a quote, the attribute is done, but there's no smooth way to get out of the quoted area without using the arrow key. 
    Pressing tab at this point inserts a tab (or spaces) inside the quoted value.  I'd very much prefer typing in ="" myself and that would allow me to continuously type without moving my fingers away from the main keyboard area to the arrow keys.  I tried looking for a way to turn off this auto ="" but can't find any.


    1. Anonymous

      Sorry, let me restate item 4:

      4. I type in a value, the attribute is done, but there's no smooth way to get out of the quoted area without using the arrow key: <c:if test="$

      Unknown macro: {mytest}


    2. Anonymous

      Once more:

      4. I type in a value, the attribute is done, but there's no smooth way to get out of the quoted area without using the arrow key: <c:if test="myvalue|"

  36. Anonymous

    What about multi-monitor support ?? Please ?
    I guess most developers have at least two monitors these days.
    Unless they don't want to "develop with pleasure" (smile)

    1. +10. Having multiple detachable editor group seems easy to do and would solve the problem.
      I know that it would break the current MDI scheme and could be confusing if there are multiples opened but that could overcome with color scheme or a descriptive title. in any case right now multi-display has almost no value with idea imho.

  37. Anonymous

    UML editor will be great...

  38. Anonymous

    Will I be able to do some spaghetti code in the new version or do I have to use the old bolognese plugin to do that?

  39. Anonymous

    OK then, what about the AspectJ support?  Are there any plans to support it in 8.0 or any future release?

  40. Anonymous

    Nice to see the additional of javascript debugging. It would be nice to see a JavaScript only project template like the Flex one I see for the times you want to edit just Javascript and HTML.

  41. Anonymous

    Boy a lot of interesting new features... but IntelliJ 7.0.3 is so very slow, with dramatically long pauses. This is a large project (6000+ java files) and I have applied very tuning suggestion for 7.0.3, and it is still painful to use when compared to 5.x which I used on the same project and the same machine months ago.

     There's a lot of memory available for IntelliJ, and no swapping on my machine, I can't imagine why it's so slow... but I'm no longer enthusiastically telling people to throw away Eclipse and pay for your product :'(

  42. Anonymous

    I'd appreciate if you'll add support for Vim text editor emulation. The plugin that I've used in IDEA 7.0.* is pretty weak, not configurable and wasn't updated for 2 years.

  43. Anonymous

    Seems Great

  44. This looks exciting.  I thought I'd add a note about something which bugs me: 

    I would like to be able to edit the annotations on methods which are generating by file templates such as adding an @Override when I implement an abstract method or override a method.

  45. Anonymous

    Equvivalence to Netbeans Mobility Pack, i.e. preprocessing, multiple selectable configuratoins per module etc.