I just completed about 100 hours of Flex development on a large flex web-based UI talking to java backend through Blaze DS. Flex SDK 3.4.0 and JDK 6u20 are being used.
Overall, I was very productive with IDEA. Editing and completion worked well and the debugger works fine.
I did run into some bad infinite loop exceptions which caused me to restart IDEA several times a day per 8 hours of work (See IDEA-54932 for one of them; Unfortunately, I couldn't reproduce a test case but it was always when I was editing mxml and actionscript)
I wanted to mention the top 10 issues/wants which came up repeatedly, day-in day-out. If the following were fixed/implemented, I would be even more productive.
1. BUG - Find Usages of a function is showing the function declaration as a usage.
(See IDEA-55179 )
2. FEATURE - If you rename a property, IDEA doesn't offer to rename the getter/setter, and vice versa. In Java, you will be prompted with "Getter and setter methods found for field _test. Rename them as well?" In actionscript, the getter and setter are even more formalized with "get xxx" and "set xxx", so my opinion is IDEA should always rename property with simple getter/setter and vice versa. There is no need to prompt the user since I can't think of any case where you don't want to do it, and there is no ambiguity because of the formal "get xxx" and "set xxx" syntax.
(See IDEA-48647 )
3. FEATURE - Need Inspection: "i18n - hard coded strings" needed for mxml/actionscript similar to what we have for java.
For java code we have Internationalization issues->Hard coded strings inspection which reports any instances of hardcoded String literals.
I would like something similar for mxml and actionscript code, as I have gotten used to the feature in java, and find it saves alot of time having the quickfix to create a new resource string in my message bundle. I find that I18N/L10N is even more critical for flex apps since almost all of them need to be i18n whereas lots of java applications may not need to be, or only parts of them.
(See IDEA-54708 , Also related bug IDEA-54549 )
4. FEATURE - [flex] when mxmlc is run via ant task, the resulting compile error is shown as info in the messages panel
We build our flex and java code using ant build.xml scripts. Not having the errors hyperlinked is wasted alot of time.
5. BUG - Analyze Stacktrace doesn't work for stacktrace from flashplayer 10
Similar to 4. It would be a huge timesaver if the stacktrace was hyperlinked.
(See IDEA-54524, This is already fixed in 96.244 IDEA 10 EAP. Is it going to be fixed in 9.0.3 EAP ?)
6. BUG - good code red - external actionscript is not evaluated in context of where it is inlined in mxml file(s)
I have alot of RED in our actionscript files which are included in mxml using mx:Script source=".." mechanism. The actionscript should be evaluated in the context of mxml file(s) it is inserted into. For my own code I have avoided this by not using <Script source="">. But our project still has alot of code where this was done and those files look like a mess in IntelliJ. IntelliJ correctly handles similar situation with JSP pages including JSP fragments, so hopefully something can be done for MXML including actionscript code.
(See IDEA-52598, IDEA-52309, IDEA-25323, IDEA-52602, IDEA-52601,
7. FEATURE - Change Signature! By far, my two most frequently used refactoring in java are Rename and Change Signature. I have those two bound to special keybindings ALT+R and ALT+S. There were a number of times I needed to add a new parameter to a function and update all the existing usages with a default value, but I had to do it manually.
8. BUG - Formatting issues.
I have run into a number of formatting issues with actionscript and mxml. (Some examples IDEA-55180 IDEA-54811 ) I know formatter has a gazillion options, and there are a gazillion permutations of the settings. But the biggest annoyance is when the auto-indent doesn't match the formatter. (Example: IDEA-55181 )
9. Can't think of anymore off the top of my head. I've filed lots of other bugs, but I can't think of any more critical issues which are affecting my productivity.
10. One wishlist kind of feature would be "Extract component" in mxml.