Software: FDT 4
Company: Powerflasher
Price: $129, $399 and $699

I’m really excited to be reviewing FDT4! I’ll try not to be influenced by the fact that I simply love this software so I hope I can keep this as neutral as possible. I will actually point out other options, their pros and cons as well as the pros and cons of FDT4. Bare in mind that I’m by no means an expert in all of these editors and I will probably miss a lot of features and not be accurate about all editors, I count on help from comments to point out any mistakes which I will promptly correct.

I wasn’t able to keep this article short so if you want to get right to the point and read the review use the table of contents below, otherwise read on.

Table of contents

  1. 1. My experience with editors
  2. 2. The main editors
  3. 3. Simple comparison chart
  4. 4. Review of FDT4
    1. 4.1. Creating / Managing Projects
    2. 4.2. Smart Editor Features
      1. 4.2.1. Syntax Coloring
      2. 4.2.2. Live Error Highlighting
      3. 4.2.3. Quick Fixes
      4. 4.2.4. Code Assist / Auto Completion
      5. 4.2.5. Organize Imports
      6. 4.2.6. Code Formatter
      7. 4.2.7. Code Templates / Snippets
    3. 4.3. Launch Configurations
    4. 4.4. Debugger
    5. 4.5. Profiler
    6. 4.6. Ant
    7. 4.7. Font Library Creator
  5. 5. FDT4 Versions
  6. 6. Closing thoughts

My experience with editors

First let me share my background with different ActionScript editors because I feel a lot of people will relate to it. As most of “old school” ActionScript programmers, I used to code everything inside the Flash IDE, although this was a tedious task there weren’t many known options out there and in a way it made me code better because I relied more in keeping the logic in my head other then the IDE helping me so it wasn’t all bad but as time went by and new versions of AS were released I felt the need to use a better editor.

Since I was a Windows user back then (still don’t know how I survived it), after a few Google searches the obvious choice was FlashDevelop mainly because it was free, so I installed it. It was like a revolution for me back then, FD was lightweight and had simple features that made my life a lot easier, I wondered how I ever used something else for coding. At this point I hadn’t try anything else.

Then an even bigger switch came for me, Windows to Mac. It was the best decision I ever made computer wise but that aside there was a big problem, there is no FlashDevelop version for Mac. This was a big leap to take and I searched and searched for options, a lot of people were having the same issue and some tried using FD running on Parallels or VMWare (which I tried but was slow and meant I had to look at the Windows logo), others just gave in and used a more simple editor like TextMate with a couple plugins and others went for commercial editors like FDT, IntelliJ and recently FlashBuilder.

I tried all of the above and FDT felt the most comfortable from the moment I opened it, there is always a sense of misplacement when you make a switch but I was able to overcome it in the first few minutes. So, what was my decision you ask? My decision was FDT4, I followed the beta and just fell in love with it, I felt the same way I did when I switched from the Flash IDE to FlashDevelop. It was better, faster and had more features then any other editor for Mac which made me realize that the price was worth it for professional coding.

The main editors

There’s a long list of editors you can use to code ActionScript, editors like Notepad++, Flash IDE, TextMate, Realaxy, etc but in my opinion there are only 4 main ActionScript editors and after using all of them this is my opinion of each.


FDT4 feels right from the moment you start using it, the only other editor that felt the same for me was FlashDevelop. It has a ton of features and not just that but the features it has are important and well done. I won’t say much more about it since the review will speak for itself.

  • Pros: coding is faster and easier then in other editors, launching and compiling options are great
  • Cons: its the most expensive of the editors along with FlashBuilder if you look only at the version with more features

FlashDevelop 3.3

FlashDevelop has a horde of fans, I used to be one and I used to say how it was better then any other editor even though I hadn’t try the others. The best things about it is that its lightweight and free but its Windows only and doesn’t have all the features you can get on FDT. If you’re on Windows and have a limited budget I would recommend FlashDevelop even though you can get discounts or even free licenses of FB4, FDT4 and IntelliJ if you’re a student or if you’re running an Open Source project (it’s worth checking it out). I have to give props to the people behind FlashDevelop for coming up with such a good editor and making it open source, its great for anyone starting to code ActionScript but as you get into bigger commercial projects you start considering other options.

  • Pros: lightweight, a big user base, very good code hinting, free
  • Cons: not as many features as FDT, Windows only, not having real-time error highlighting is just a turn off for me

IntelliJ 9

IntelliJ is not new at all, its been around successfully for a long time mainly as a Java editor but I have mixed feelings about it. On one hand it seems to have more features then any other but I wasn’t able to dedicate the huge amount of time it seemed to require to edit all the preferences to my taste. I could tell its a really solid editor and I used it in a couple projects but I never really “felt” comfortable with it and some things just irritated me. I didn’t like the navigation, code hinting and it was a bit slower then the others. I believe the beta for IntelliJ 10 has some great improvements, or so people say but I don’t think I’ll be giving it another chance anytime soon since there are other editors that feel better and are targeted specifically at ActionScript.

  • Pros: lots of languages supported, lots of plugins available, lots of version control options and the refactoring tools seem to be amazing
  • Cons: a bit heavyweight, too many customization options available and needed, navigation is confusing

FlashBuilder 4

My personal opinion of FB4 can be described as “big disappointment”. I was expecting so much from this software and it didn’t live up to those expectations. I’m still using it on a project mainly because its near the end and there’s no point in exporting the project to another editor, but it will probably be my last project coded in FB4 for a long time. If there’s something that can go wrong in an editor I’ve experienced it on FB4, anything from opening a project and FB4 simply decides to delete files without a reason, code folding has a mind of its own and bugs too often or just disappears, opening a file and FB4 saying its blank but on any other editor the code is there and is editable, etc. I do like the integration with other Adobe software especially since it recognizes linked library items from Flash and it has some features no other editor has but that’s something I can live without.

  • Pros: integration with other Adobe products like Flash and Catalyst
  • Cons: bugs and lots of missing features

Comparison Chart

There are more in depth comparisons available online but this is not an IDE showdown, its a review about FDT4 so I will only make a simple comparison based on my experience and only about the 10 common features people usually look for in an editor.

[gn_table style=”2″]
FDT FlashDevelop IntelliJ FlashBuilder
OS Support Windows, Mac, Linux Windows Windows, Mac, Linux Windows, Mac
Price $699, $399, $129 Free $599, $249 $699, $249
Syntax Coloring 5 5 5 3
Real-time Errors 5 2 4 0
Code Hinting 5 5 3 3
Code Assist / Complete 5 5 3 3
Quick Fixes 5 4 5 3
Code Generation 5 3 4 4
Debugger 4 4 5 5
Run Configurations 5 3 4 3
Refactoring 3 3 5 3
Version Control Support 4 3 5 4
Average 4.6 3.7 4.3 3.1

Just to offer some clarification for my ratings here are some of important notes:

  • Syxtax coloring is good in all editors except FlashBuilder, I hate it when an editor doesn’t offer coloring for custom classes because I like to look at code and distinguish where I’m calling/using my libraries.
  • Real-time error highlighting is a must for me, it saves a ton of time to see if i’m making mistakes as I type. FlashBuilder only shows errors in Flex code once you save and in Flash once you compile, FlashDevelop only offers syntax error highlighting which is not enough for me.
  • Code completion should be fast and appear while you’re typing, FlashDevelop does this by default and FDT can be configured to do so too, IntelliJ and FlashBuilder need a shortcut or that you use a trigger key (maybe IntelliJ can be configured to respond better but I’m not sure).
  • I found that FDT and FlashDevelop are the ones with more auto complete features.
  • FDT is the one with the most code generation options while FlashDevelop is the one with less although it does have some that I didn’t find in any other editor.
  • The most complete debuggers seemed to be the ones in IntelliJ and FlashBuilder which offer some additional control.
  • The editor with the best and easiest run configurations in my opinion is FDT, I’m including the launcher chain feature in this category by the way.
  • Event though I didn’t use all the refactoring possibilities of IntelliJ it did seem to be superior and have more options then the other editors.
  • The list of version control options on IntelliJ is very impressive, there was even a couple I had never heard of before, FDT and FlashBuilder can be extended with eclipse plugins for most version control systems and FlashDevelop only offers the most common ones.

Review of FDT4

I’ve learned something while writing this article, reviewing a software like FDT4 is not easy. There are so many features and so much you can tell about each that it would take forever and I’ve written and deleted and written and deleted over and over until I realized I can’t cover it all, I didn’t want to leave anything out but I think that if people want to know about something that I don’t cover they can always read through FDT’s awesome documentation, install the trial and try it themselves or just ask in the comments.

Creating / Managing Projects

Project Wizard

I hate it when a project wizard forces you to choose options that might not be the best for your project and then creates “junk” folders and files on its own, its frustrating to be forced to edit the project and change things after its created to fit your needs.

FDT’s project wizard doesn’t force you in any way, instead it assumes that every project is a Flash Project and the difference is in which SDK you use to compile.

FDT Project Navigation

It lets you choose your own structure, use several source folders and manage library dependencies with a simple right-click > Source Folder > Add to Classpath / Remove from Classpath.

You can change anything in your project at anytime with ease and in my opinion that is really “pure comfort”.

If you are used to have a specific structure or using the same libraries a lot It even lets you create your own project templates which is really cool.

Smart Editor Features

A good editor doesn’t just have lots of features, it needs to have the most basic and important features work in a powerful way.

Syntax Coloring

This is usually not something you give much thought while coding, its just something that is there and most editors do a good job in this department but strangely enough some still lack. When I code I don’t want just coloring for reserved words and the SDK reference, I want coloring for all the classes, methods and variables in my project. You can check how FlashBuilder does its syntax coloring below:

FlashBuilder Syntax Coloring

It only colors the reserved words and the string…. Now notice how FDT has coloring for your “Game” class and uses italic for the variables “_sound” and “_level” and also italic for the “switchState” method and by the way this is easily customizable, all the colors and using bold, italic is just a matter of preferences.

FDT Syntax Coloring

Live Error Highlighting

Is it just me or do you also hate having to save and build your project to find out you have an error in your code? Being able to see your making a mistake while you type is a real time saver and I don’t mean just syntax errors, I mean calling a class you didn’t import, using a variable that doesn’t exist, etc and being able to correct it on the spot.

FDT Live Error Highlighting

Quick Fixes

This is another very useful feature, in addition to Live Error Highlighting you can use the shortcut Cmd+1 (Mac) / Ctrl+1 (Windows) to open up options and quickly fix the error.

Quick Fix Error

FDT has lots of Quick Fixes which include:

  • Class & Interface Generation
  • Method Generation
  • Reference Generation
  • Property Generation
  • Getter and Setter (Accessor and Mutator) Generation
  • Event Handler Generation
Code Assist / Auto Completion

Probably the most wanted feature of all in any editor is the code assist. Its really helpful especially when you’re working with an API you’re not familiar with or with a complex project that has lots going around.

If you are anything like me then you don’t like having to use a shortcut to open Code Assist, I think that by default FDT’s Code Assist is only triggered by “.:” (not sure since I changed this long ago) but you can easily make it more responsive by adjusting its delay and its triggers to something like “abcdefghijklmnopqrstuvwxyz_.:”. This will make the Code Assist open with any letter like FlashDevelop does. It’s also worth noting that only FD and FDT have an option to accept a suggestion with a key other then Enter.

Organize Imports

All editors these days add import statements for you when you reference something that uses other packages but sometimes you get carried away or you copy paste code from other sources and don’t pay attention to imports. FDT has a really cool feature that lets you organize your imports with a simple shortcut Cmd+Shift+O (Mac) / Ctrl+Shift+O (Windows). What this command will do is remove any unused imports (which by the way FDT highlights in real time with a warning) and/or add any missing imports the code needs.

Code Formatter

FDT Formatter Options

Unlike FlashDevelop and FlashBuilder which need plugins, FDT has awesome and extensive customization options for formatting your code. If you’re stuck using FlashBuilder and you don’t have the FlexFormatter plugin you should really check it out because its great and FDT has similar customization already built-in, once you set its options to your preference all you have to do in order to format your code is a simple Cmd+Shift+F (Mac) / Ctrl+Shift+F (windows).

Code Templates / Snippets

Another feature I personally haven’t used much before but some people love is Templates / Snippets. FDT has a long list of pre-installed templates and it offers you the ability to create your own or import / export templates to share with other users. The template manager can be accessed from the preferences navigating to FDT > Editor > Templates, in here you’ll find the list of all templates and options to Edit, Remove, Create, Import and Export.

FDT Template Manager

Activating a template is just like activating Auto Complete, you just type part of the name and use the shortcut Ctrl+Space.

Launch Configurations

FDT’s launch configurations gives you absolute control over how your projects compile and launch. The most notable difference between FDT and the other editors is that FDT doesn’t force you to use any structure for your project and you don’t have settings for your compiler, instead you’re in control of the structure and you can create several configurations which are saved in your FDT settings folder and can be used in any project.

This can seem a bit confusing but if you take a few minutes to understand how it works it will open up a lot of possibilities like:

Choosing any file as the default application file (other editors force you to use a certain file) and a different name for the output file for each run configuration.

Setting up multiple launch configuration for the same project.

Using the Launcher Chain by adding compiler arguments and compilation variabels which you can use on your code to make sure the application behaves differently for each configuration. This will let you create several version of the application with a single action.


The debugger is not just about allowing you do use trace statements. When you debug an application FDT opens up the Debug Perspective (configurable) which allows you to find exactly where in your code a runtime error occurs, no more cryptic error messages that don’t tell you where to look.

FDT Debugger Runtime Error

It also allows you to use breakpoints and step commands to control the execution back and forth to check for instance names and their values and you can even change them while the application is running in case you need it. This is really helpful if for example you’re connecting to an API, remote script or web service and don’t have a good documentation about it, I’ve used it recently for an application that connects to a service and I was able to easily see what data it was sending and how it was formatted.

FDT Debugger Variables

There is a lot to be said about the debugger unfortunately I haven’t used it much for analyzing code even though I can see that all the tools you need are right there.


In some applications performance is critical. The profiler lets you check under the hood and figure out what’s going on in there, this is one of those features that you might not need to use a lot or in every project but when you do need it, if you don’t have it you could be running into some headaches. The profiler lets you do Memory profiling and Performance profiling which is really nice.

The Profiler Perspective gives you controls for the execution of the application, you can pause it or suspend the profiling and then using filters for internal packages and native objects you can check several things like information about the garbage collector.

FDT Profiler Memory Graph

You also have a memory graph and information about the objects created and how much memory they’re taking and you can take snapshots at any time without stopping the application. These snapshots can then be compared to give you a visual representation of your application at different times.

FDT Profiler Live Objects


Sometimes there’s a project where you need to create and do a lot of stuff, you can do all of those separately and by hand or you can use Ant tasks. Here are some examples of common Ant tasks you might need to use:

  • Create one or more SWC’s from one or more files in your project.
  • Create one of more SWF’s from one or more files in your project.
  • Launch a SWF in a player or the browser.
  • Change files to reflect new builds.
  • Create ZIP files from one or more sources and deploy them to a location.

You can do these one by one or you can use Ant and just do it with a single action, this saves you a huge amount of time and automates something that would otherwise require you to write down all the process so you don’t forget anything in the future. Since Ant uses a XML file with your tasks you can even save a backup of this file somewhere so it doesn’t get lost or you can use it for other projects, provided that names are the same or you change them. Let’s look at a simple example:


Font Library Creator

Fonts is one of those things that are sometimes hard to manage, especially if you need a lot of them and multiple languages. FDT’s Font Library Creator is one of my favorite new features, it offers a really simple yet powerful way for you to manage fonts for your applications. I think this is one of those cases where pictures are worth a thousand words.

FDT Font Library Creator
As you can see its pretty simple and self-explanatory. You choose the fonts you want, give them a name, choose which glyphs to embed and Generate either a SWF, SWC or ActionScript classes for them. The FDT documentation covers this better then I ever could so if you want more details check that out, all I can say is that this is a really nice feature that can help you manage your fonts if you don’t already have your own specific method.

FDT Versions

FDT4 comes in 3 different versions called Pure, Plus and Max. I have to say that I didn’t try the Pure and Plus versions but from what I can see on the features comparison table at FDT’s website here are the main differences:

Smart Editor

All the features from Live Error Highlighting to Auto Complete, Code Templates, Quick Fixes are included in all versions. The only difference is that the Pure and Plus versions don’t include the Rename Refactoring feature and although this can be very useful, it might arguably be one of the things you “can” live without.


There’s a big difference in navigation features between Pure and the other versions. With the Plus version you only miss the Dependency Visualizer but with the Pure version you also miss Quick Outline, Type Hierarchy, Open Type, Dependency View and Reference Search.

Project Management

In this department all versions have pretty much the same features, Pure is missing SWC Browsing and Move Refactoring and Plus is only missing Move Refactoring but all versions keep the important features like Project Templates, SDK management, Air, Multiple Source Folders, External SWC linkage and Version Control.

Testing and Deployment

Perhaps the most notable differences reside in this section. The Pure and Plus versions don’t include the Profiler, Debugger and Launcher Chain but Ant, Launch Configurations and Font Library Creator are still there.


There are a few cool features you’re going to miss if you don’t choose the Max version, from those the Launcher Chain, Profiler and Refactoring are probably at the top of  the list and of course the most important feature you’re going to miss is the Debugger. You can still code just about any project with the Plus and even the Pure versions of FDT and to be honest I think I would probably still prefer one of them to other editors.

I can’t go over every possible scenario to figure out yours but I can say that if you are looking for a professional editor FDT4 Max is the right choice, if your budget is not quite there then I think it might be worth one of the other versions and then using MonsterDebugger which is an Open Source library you can use to add some level of debugging. If you’re a student you can buy any version of FDT4 with a -50% discount and if you’re running an Open Source project you can apply for a free license at FDT’s website.

Closing thoughts

Everyone is different and sometimes we just get comfortable with what we have and don’t want to change unless we have to, so I understand people that have tried just one editor and is sticking with it, I’ve been there. But I’m glad I was forced to look for alternatives, it made me aware of what’s out there and which editor is better for me.

Some may argue that FDT is a bit expensive, well that depends on the point of view, everything is expensive if you don’t need it. However if you do need something then you can’t say its expensive, it might even be cheap as long as it does the job well and lets you do profitable work with it.

I really like FDT4, its fast, easy to use and you can tell by its features that the people behind it care about Flash/Flex and know what they’re doing. At this moment this is my editor of choice and I wouldn’t change it for any other.

If you’re interested in learning more about FDT visit their website, read the documentation or download the trial.