Home >
SourceMate Beta Review

Advanced Flash Tactics or AFTs are techniques that come from deep within the Flash Art Of War, the oldest Flash military treatise in the world. In this AFT I will go over - SourceMate. SourceMate is a new plugin for FlashBuilder that promises to add a lot of "missing" features to FlashBuilder some of us of taken for granted in other IDEs. The best part is that you can get a beta trail now and begin testing it to see what you think. I have done just that and thought I would share what I like about the plugin. It is important to note that this is still a beta, so I will not focus too much on bugs and instead give a high level review of the new features SourceMate brings to the table. Once you install the plugin, it will appear in the application menu at the top of FlashBuilder.
Generators
Code generators are a huge help, especially when you want to just focus on writing code and not wasting additional time typing. SourceMate offers the following generators:
Getters & Setters - This does exactly what you would expect, but instead of highlighting a variable and having that as your target, SourceMate displays a menu with all your options. It also has a nice feature to put the getters/setters before or after the first method.
Generate Constructor - If you create a new class and don't have a constructor, this will create one for you.
Generate toString() - This is a great in that it creates a string equivalent of your class, helpfully when tracing it out to the console. It allows you to pick the properties you want included in the output.
Generate Comments - This is a great feature that will create comments blocks above all your methods including @param and @return for you. This is a huge time saver! 
Generate Ant Build File - I couldn't get this to work, but if it functions how I expect it to, it will take your FlashBuilder run configuration and generate an ANT file for you. This is great because I am a big believer in automating builds via ANT, plus it allows you a way to export your build configuration in a way that is platform or IDE independent.
Refactoring
SourceMate has a great collection of refactoring methods. This is by far my favorite feature that is sorely missing from FlashBuilder. Here is what you can do:
Convert Local Variable to Field - This will take a local variable, one that is inside of a method, and make it a class variable. This is helpful when you begin to realize you are using the same variable over and over again in each method and you want to remove the "expense" of recreating it every time.
Extract Constant - is nice if you know you want to make a variable value into a constant. Simply highlight the value and call Extract Constant on it.
Extract Method - is one of my most requested refactoring features! It allows you to take a large method and easily break it down into smaller methods. This is especially helpful in large loops where you may want to allow other classes to override or inject logic through inheritance. When you use this feature it gives you a list of parameters it needs to create in order to pass the required values into the new method.

Extract Interface - This is a huge timesaver. If you have a class that needs to be turned into an interface, simply use this to get a wizard with all the public properties you want to include. SourceMate will not only create the interface for you but it will list your class to as well.
Disable/Enable Trace()
This is a great feature that should be built into the command line compiler. This simply allows you to comment out or delete traces on an editor or project level.
Build ASDoc
I was very happy to see this feature. Although I couldn't get it to work, it should make generating ASDocs for you code incredibly easy. As of now you have to jump through hoops just to get the command line only ASDoc exe to run and there is really no excuse why this feature hasn't been built into Flash/Flex Builder since day one.
Enable TODO, FIXME, XXX Markers
Adding TODO's and FIXME comments to your project is a great way to keep track of issues and what needs to be done. It is crucial when working in a team environment and built into Eclipse. Flash Builder does not support this for some reason so I was happy to see that SourceMate allows you to track these on a project by project level. Unfortunately this wasn't working yet, but when it does it will be a huge help.
Final Thoughts
The best part of this plugin is that it just works! I am a little concerned that there is very little info on how Adobe feels about it. At any point Adobe could change parts of FlashBuilder to block the plugin from functioning. I am happy to see the most complex parts such as the generators and extractors are working flawlessly. I would highly suggest signing up for the beta and giving it a test.
This post was edited by Ronda Lee Levine.




Facebook Application Development
Thanks for the review Jesse!
Just a quick note - the build Jesse reviewed is one of our earlier builds. That explains both the bugs and some missing features. Our recent builds (which require a private pre-release version of Flash Builder 4) have:
-Code templates (aka code snippets)
-Metadata tag content assist
-Metadata tag validation
-[Bindable] support in getter/setter generation
-and more...
Chris Gross
President
ElementRiver (makers of SourceMate)
I should have mentioned in there that it was an early release. Took a little longer then I thought to get the review out. Still even in the early release it was looking really great. Thanks for clearing that up btw the newer builds are looking very impressive.
Well, the general "vibe" I got from a feedback meeting we had the other day with Andrew Shorten (the new FB product manager) and some other UK flexers was that Adobe are rather pleased with 3rd-party solutions like SourceMate. I wouldn't worry too much for their short/mid term future.
@Chris: Any idea on the pricing model for this plugin, yet? I love it so far!
We intend to keep the price under $100.
You totally forgot to discuss the Code Review feature which allows you to review other people's code and add comments and then send the code review document back to the requester. Similar to the reviewing functionality of any word processor.
I've been really impressed with Source Mate, but saddened that there's so many people making it available on file sharing sites. There's gotta be a bit of integrity with these great applications or who is going to keep developing them!
www.makemoneyonline4idiots.com