Sony has an interesting Flash Dev setup here in Tucson in that each developer can use whatever tool they want. Typically, I have always worked on teams where everyone used the same tool. But here, they want you to use whatever you code best with and the projects are setup in such a way that it really doesn't matter. There is an ant build template that everyone copies & customizes for compiling. As long as you exclude your customized ant build and your personal development files (such as a flex project file) then everyone is good to go and work environments are compatible with whatever tool you want.
Soooo, the question then is what tool do you want? I began my action script endeavors back in college in the Flash IDE. When I was at Simulex I upgraded to the FDT plugin for Eclipse in AS2. When AS3 came out, we switched to the Flex Plugin for Eclipse mainly due to the profiler. I stayed with the Flex Plugin when I moved to the Basement as it was and is a very solid development tool. When I arrived here at Sony and was given the choice of anything... I took some time and tried out three main options:
1. Some form of Eclipse (FlashBuilder, FDT, Flex Plugin)
3. JEdit (or a similar text edit)
I am not listing the Flash IDE as a coding tool. Its not. If you are using it, promise me you will spend 1 week and learn one of these other tools... you will not regret it.
The first option was my top choice coming in since I had been using one form of Eclipse or another for the past 4 years. Its a solid tool with the standard bells and whistles of autocomplete, jump to method/class, code highlighting, etc. Adobe is backing it. It integrates into SVN, CVS or whatever check in/out system you are using. You can get errors on save which is a nice little feature. And it manages multiple projects and libraries very easily (this is the main reason I have stayed away from FlashDevelop in the past). On the flip side, it can be a bit cumbersome, seemingly overly complicated, and sluggish. Its almost as if it is trying to do too much.
I was very curious about the 3rd option which is JEdit since I had never customized a text editor for actionscript coding before... it seemed very l33t ;). Chris Hill, the technical director here at Sony, made and excellent plugin called flexulous which allows you compile ActionScript or Flex projects in JEdit. The beauty of JEdit is that you can customize it in a million ways with all sorts of plug-ins as well as short-cuts to increase your development time drastically once you have been working in it for a long time. The downfall of JEdit is that it does not have any suitable jump to method/function plugins, auto-complete, or instance highlighting (tho it does have syntax highlighting). I really tried to give JEdit a chance because I feel it could fit very well with time. And who doesn't want to be l33t??? but I rely too heavily on jump to and auto complete to dive in completely.
Finally, I tried FlashDevelop. I have spent some time with it in the past but always left because it can't handle multiple projects without opening multiple instances of FlashDevelop, which I still find somewhat ridiculous. However, now I will be working on a single project for months at a time instead of jumping between 5 projects in a single day so multiple projects are no longer a deal breaker for me. With that hurdle out of the way, FlashDevelop is a happy medium between Eclipse and JEdit. It is a focused AS tool and therefore not as bloated or slow as Eclipse. It does has the main bells and whistles such as auto complete and jump to, but it is lacking the highlight occurrences that Eclipse plugins offer. I found an OK plugin that allows for highlighting all occurrences of whatever word you have selected... its not as good as Eclipse's highlighting since it doesn't take syntax into account and it doesn't give you hot-spots to jump to on your scrollbar, but its better than nothing. It has some very nice snippets and macros which are fairly customizable, not quite to JEdit's level but seem to be an improvement over Eclipse snippet tools.
Overall, each tool has its pluses and minuses and all of the options can be solid choices, it just depends on your personal needs. For me, FlashDevelop seems to be the happy medium and it is now my editor of choice. If I wind up jumping between multiple projects throughout the day then I would most likely switch to FDT or FlashBuilder. And if anyone created plugins for jump-to method/function, auto-complete, and instance highlighting in JEdit then I would jump ships as well since JEdit is amazingly customizable. In the meantime, I'll be happily chugging away on FlashDevelop.
Now I wonder if anyone is going to make me eat my words from a year ago? Iain? ;)