2007-10-30

Intellij supporting Flex

Once upon a time I used to be a big Intellij user, before the popularity of Eclipse. Love the IDE and actually I still do, but since everyone at my company uses Eclipse and of course due to Flex Builder, I haven't used Intellij in years. However I was recently looking at the feature set of Intellij 7.0 and noticed something interesting, they support Flex! So I was ok, let's download and see what they mean. So I did play around with it for an hour or so and here is what I discovered.

For MXML, they do syntax coloring but there is no code-hinting as far as MXML properties are concerned. But if I remember from way back, there is way to configure this in Intellij if you have the schema for MXML. One thing I noticed is that code-hinting does work for any AS code you write in a script block in an MXML component. As for ActionScript classes, they do syntax coloring and some code hinting, because they are basically supporting the ECMA 4.0 standard, which ActionScript 3.0 implements. One cool thing I noticed is basic refactoring is also supported which is great!

Unfortunately there is no way to point Intellij to your Flex SDK of choice (either 2.01 or 3.0) so it can provide code-hinting/auto-completion for the framework classes. As for compiling, you can configure Intellij to run externals applications, so basically point it to mxmlc with the right parameters and you should be ok.

So it is a good start for those using Intellij and building applications using Flex. I am sure someone will build a Flex plug-in at some point in the near future that will do even more, or JetBrains will simply upgrade their current support. Great to see that a major IDE has acknowledge the presence of Flex in this large development world :)

1 comment:

nicity said...

To specify Flex SDK location you need to select module in 'Settings | Project Settings | Modules' and press + (New). Select Flex facet and specify Flex SDK location. I also recommend to get IntelliJ IDEA 7.0.2 (should be released in a week) and test with it.