Dashboard > IntelliJ IDEA > Diana First EAP Release Notes
IntelliJ IDEA Log In | Sign Up   View a printable version of the current page.
Diana First EAP Release Notes
Added by Dmitry Jemerov, last edited by Dmitry Jemerov on Mar 21, 2008  (view change)
Labels: 
(None)

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, while...do, 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:

Seam projects in IDEA (IntelliJ IDEA)

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

Posted by Boris Kirzner at Mar 22, 2008 10:51 | Permalink | Reply To This

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

Posted by Dmitry Jemerov at Mar 22, 2008 11:08 | Permalink | Reply To This

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

Posted by Anonymous at Mar 24, 2008 22:08 | Permalink | Reply To This

Spring Webflow Designer is under construction and will be added soon

Posted by Sergey Vasiliev at Mar 25, 2008 15:38 | Permalink | Reply To This

Add Scala !!! (please)

Posted by Anonymous at Mar 23, 2008 06:12 | Permalink | Reply To This

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.

Posted by Dmitry Jemerov at Mar 23, 2008 11:06 | Permalink | Reply To This

+1

Posted by Anonymous at Mar 29, 2008 01:45 | Permalink | Reply To This

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

Posted by Anonymous at Apr 04, 2008 04:44 | Permalink | Reply To This

+1

Posted by Anonymous at Apr 10, 2008 14:45 | Permalink | Reply To This

+42

Posted by Anonymous at Apr 13, 2008 08:31 | Permalink | Reply To This

+1

Posted by Anonymous at Apr 15, 2008 13:51 | Permalink | Reply To This

+1 for scala from me, too

Posted by Anonymous at Apr 16, 2008 19:32 | Permalink | Reply To This

+1

Posted by Anonymous at May 13, 2008 10:32 | Permalink | Reply To This

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

Posted by Anonymous at Mar 23, 2008 06:13 | Permalink | Reply To This

Yes, Velocity is planned.

Posted by Dmitry Jemerov at Mar 23, 2008 11:06 | Permalink | Reply To This

Thanks...Thanks...

Posted by Anonymous at Apr 10, 2008 17:32 | Permalink | Reply To This

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

Posted by Erik Pragt at Mar 23, 2008 14:15 | Permalink | Reply To This

Great to see support for JBoss Seam.

Posted by Anonymous at Mar 24, 2008 03:01 | Permalink | Reply To This

Is there any plan for supporting Python?

Posted by Anonymous at Mar 24, 2008 04:26 | Permalink | Reply To This

Yes, there is.

Posted by Dmitry Jemerov at Mar 24, 2008 13:01 | Permalink | Reply To This

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

Posted by Anonymous at Apr 03, 2008 22:40 | Permalink | Reply To This

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

Posted by Dmitry Jemerov at Apr 03, 2008 22:53 | Permalink | Reply To This

Please consider adding Velocity support to IDEA !

Posted by Anonymous at Mar 24, 2008 10:45 | Permalink | Reply To This

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

Posted by Dmitry Jemerov at Mar 24, 2008 13:02 | Permalink | Reply To This

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) ?

Posted by Roman Swoszowski at Mar 24, 2008 13:31 | Permalink | Reply To This

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

Posted by David Levitt at Mar 24, 2008 17:26 | Permalink | Reply To This

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).

Posted by Dmitry Jemerov at Mar 25, 2008 00:08 | Permalink | Reply To This

Any support for Google Android planned?

Posted by Anonymous at Mar 24, 2008 19:12 | Permalink | Reply To This

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

Posted by Dmitry Jemerov at Mar 25, 2008 00:05 | Permalink | Reply To This

Will Drools will be supported? Or Jess?

Need some rule engine support.

Posted by Anonymous at Mar 24, 2008 21:33 | Permalink | Reply To This

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

Posted by Dmitry Jemerov at Mar 25, 2008 00:04 | Permalink | Reply To This

will support Hibernate HQL editor in the features?

Posted by frankie kuo at Mar 25, 2008 06:22 | Permalink | Reply To This

Hibernate HQL is fully supported in version 7.

Posted by Dmitry Jemerov at Mar 25, 2008 14:37 | Permalink | Reply To This

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.

Posted by Anonymous at Mar 25, 2008 21:28 | Permalink | Reply To This

Our very ambitious project is alive and well, thanks.

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.

Posted by Dmitry Jemerov at Mar 25, 2008 22:43 | Permalink | Reply To This

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.

Posted by Anonymous at Mar 26, 2008 01:41 | Permalink | Reply To This

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

Posted by Dmitry Jemerov at Mar 26, 2008 23:59 | Permalink | Reply To This

Here comes my "WYSIWYG, Please!"

Posted by Anonymous at Apr 15, 2008 20:22 | Permalink | Reply To This

I'm glad seeing Seam so comprehensively supported!

Posted by Anonymous at Mar 27, 2008 17:56 | Permalink | Reply To This

Will you be supporting SQLServer dialect?

Posted by Anonymous at Mar 27, 2008 23:07 | Permalink | Reply To This

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.

Posted by Jon Steelman at Mar 27, 2008 23:18 | Permalink | Reply To This

Great the SQL support...

Any support for Spring 2.5 ?

Posted by Anonymous at Mar 28, 2008 02:09 | Permalink | Reply To This

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

Posted by Dmitry Jemerov at Mar 28, 2008 08:29 | Permalink | Reply To This

How about OSGi support?

Posted by Anonymous at Mar 28, 2008 14:56 | Permalink | Reply To This

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.)

Posted by Anonymous at Apr 01, 2008 14:25 | Permalink | Reply To This

Don't make your tests rely on static variables.

Posted by Anonymous at Apr 02, 2008 00:20 | Permalink | Reply To This

You may give TestNG a try for advanced testing strategies.

Posted by Michael Hüttermann at Apr 06, 2008 15:01 | Permalink | Reply To This

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?

Posted by Anonymous at Apr 01, 2008 23:54 | Permalink | Reply To This

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.

Posted by Dmitry Jemerov at Apr 02, 2008 00:10 | Permalink | Reply To This

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.

Posted by Anonymous at Apr 02, 2008 00:18 | Permalink | Reply To This

Why don't give a try??

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

-server
-Xms500m
-Xmx1500m
-XX:MaxPermSize=400m
-ea
-XX:+UseConcMarkSweepGC

And is pretty fast comparing with 5 or 6 versions 

Posted by Mario Arias at Apr 02, 2008 01:12 | Permalink | Reply To This
View the rest of this thread. Most recent comment: 42 days ago
3 more comments by: Anonymous, Dmitry Jemerov

Is a Flex visual designer in the roadmap for Diana ?

Posted by Hugo Palma at Apr 03, 2008 03:30 | Permalink | Reply To This

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

Posted by Dmitry Jemerov at Apr 03, 2008 10:32 | Permalink | Reply To This

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'.

Posted by Anonymous at Apr 12, 2008 01:21 | Permalink | Reply To This

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.

Posted by Anonymous at Apr 03, 2008 19:35 | Permalink | Reply To This

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.

Posted by Dmitry Jemerov at Apr 03, 2008 22:51 | Permalink | Reply To This

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.

(Example)

<view name="letterclipper" clip="true" width="330" height="100" x="93" y="336" bgcolor="white">
<method event="oninit">
this.setAttribute("relX",0);
</method>

<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());

<![CDATA[
Debug.write("remotedata test data loaded", this);
Debug.write(this.lds);
Debug.write(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}

]]>

</handler>

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

<method name="scrollRight" args="pixels">
<![CDATA[
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 }
else
Unknown macro: { this.animate( "x", actualX , 1000, false ); parent.setAttribute("relX",actualX); }

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

]]>
</method>

<method name="scrollLeft" args="pixels">
<![CDATA[

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 );

parent.setAttribute("relX",actualX);
Debug.write("Distx: " + distX + " to: " + actualX );

]]>
</method>

</view>
</view>

Posted by Anonymous at Apr 04, 2008 21:07 | Permalink | Reply To This

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.