Yes, its time, I need to…
So how to make the transition from FlashDevelop to FDT as easy as possible?
Let FDT react like FlashDevelop
And I don’t even have to break a sweat: the amazing Steven Sacks (creator of Gaia) wrote an article about it: read here.
The only two thing that I’m using are:
Open Window > Preferences
Under FDT > Editor > Code Assist copy and paste this into Auto activation triggers for AS, and set the delay to 0ms (zero).
abcdefghijklmnopqrstuvwxyz_. :
and
Under Problems > AS3 Problems:
Unresolvable > Unresolvable variable reference in E4X and Unresolvable member reference in dynamic object should both be set to Disabled (from Warning to Disabled).
The shortcuts I just left them as they where: I’m working in another program so I should use the shortcut given by that program.
Update #1: hmmm I noticed that I can’t live without CTRL+ENTER…. explanation here:
Using CTRL-ENTER to compile ActionScript code in FDT. So now I have CTRL+ENTER and debug run: CTRL+SHIFT+ENTER 😀
short explanation (so I can do this quickly if something happens to FDT):
Under Preferences > Run/Debug > Launching at the bottom at Launch Operation: Select “Always launch the previously launched application”
then
Under Preferences > General > Keys find (or type in “type filter text” – searchbox: “last”) a command called “Run Last Launched” and click Copy Command. Assign (binding) the shortcut CTRL-ENTER to the copied command and change “when” to Editing ActionScipt Source (no spelling mistake: it really says that) Editing ActionScript Source.
Do the same thing for the “Debug Last Launched” command and assign the shortcut : CTRL-SHIFT-ENTER and change the when to Editing ActionScipt Source.
I’m not sure if the stuff I wrote here is only for FDT4 but the way it was explained on the site previous mentioned didn’t work in FDT4
Some templates/snippets that are very useful
I used this plugin for my trace in FlashDevelop, so how to do this in FDT?
Update #2: I shouldn’t forget to mention CTRL+0 (read the
shortcut list for FDT) which is the shortcut for “Quick Trace”. This one I use to trace variable for example and the trace template below for functions.
Update #4: This is really a reminder for myself, but if you need it you know where you can find it in FDT4.
Some minor adjustments like:
Preferences > FDT > Build Path change Source folders to “source” (I like source above src) and Output folder to “deploy” (I like deploy above bin)
Preferences > FDT > Code Style > Code Templates (Misc) to “Override System UserName – ${user}”
Preferences > FDT > Editor goto “Folding” and uncheck “Folding enabled” (I like to see everything, comment also)
Preferences > FDT > Tools > Flash/Flash Help to add paths to Flash (in my case: “H:\Program Files\Adobe\Adobe Flash CS4\Flash.exe”) and the Flash help files (in my case: “H:\Program Files\Adobe\Adobe Flash CS4\en\First Run\HelpPanel\Help”)
Preferences > General > Web Browser change to “Use external Web browser” to my favourite browser: Firefox (no Google Chrome there yet)
You can add any browser that you want.
You have to create a code-template/code-snippet:
go to Preferences > FDT > Editor > Templates
This is a template that resembles the trace I used in FlashDevelop
Trace:
trace ( "+ ${enclosing_type}.${enclosing_method}() - args: " + [ ${enclosing_method_arguments} ] );
and I found some other useful templates
Public method:
public function ${methodName}():${type} {
trace(">> ${enclosing_type}.${methodName}() args: "+[]);
${cursor}
};
for some strange reason there is no shortcut for asdoc 🙁
ASDoc:
/**
* ${cursor}
* @example
* @param ${enclosing_method_arguments}
* @return
*/
*/
Update #3: (sadly if there are no param in the function “${enclosing_method_arguments}” will be printed..)
a switch a use a lot with FlashDevelop:
Switch:
switch (${value}) {
case ${result}:
trace ("${result}" +${result} );
${cursor}
break;
default:
trace("case '"+${value}+"':\r\ttrace ('--- "+${value}+"');\r\tbreak;" );
}
and the template for a singleton
Singleton: (from gskinner)
package ${enclosing_package} {
/**
* @author ${user}
*/
public class ${enclosing_type} {
private static var _instance:${enclosing_type};
private static var _allowInstantiation:Boolean;
public static function getInstance():${enclosing_type} {
if (_instance == null) {
_allowInstantiation = true;
_instance = new ${enclosing_type}();
_allowInstantiation = false;
}
return _instance;
}
public function ${enclosing_type}():void {
if (!_allowInstantiation) {
throw new Error("Error: Instantiation failed: Use ${enclosing_type}.getInstance() instead of new.");
}
}
${cursor}
} // end class
} // end package
enough for now, here some other posts about the subject
Source:
http://blog.hydrotik.com/2007/11/19/fdt-30-code-templates/
http://www.breaktrycatch.com/useful-fdt-templates/
http://www.stevensacks.net/2010/04/30/setting-up-fdt-to-look-and-behave-like-flashdevelop/
http://www.gskinner.com/blog/archives/2006/07/as3_singletons.html
http://blog.flashmech.net/2008/08/review-fdt-vs-flashdevelop/
https://fosswiki.liip.ch/display/FLASH/Code+Snippets+for+FDT+and+Flex
http://cote.cc/blog/using-ctrl-enter-to-compile-actionscript-code-in-fdt
http://www.fdt.powerflasher.com/developer-tools/fdt-3/getting-started/shortcuts/
http://blog.flashmech.net/2008/10/fdt-tip-boost-your-code-assist/