FlashDevelop and the ActionScript 3 fl classes
Quick note on how to get FlashDevelop to provide auto-completion and the other tweaks for the Flash CS3 fl classes including the Tween class. Inside FlashDevelop tap into the menu:
Tools->Global Classpaths (CTRL-F9)
Pick AS3 from the dropdown box and then choose Add Classpath. Navigate to:
C:Program Files (x86)AdobeAdobe Flash CS3enConfigurationActionScript 3.0Classes
Then repeat for the Air classes here:
C:Program Files (x86)AdobeAdobe Flash CS3enConfigurationActionScript 3.0 AIR 1.0Classes
Those are my Vista 64 paths, you probably have to change them to start with C:Program FilesAdobe under 32bit Vista or XP. Once those two paths show up in the box you can click OK. You should now have instant access to the code-completion system with these classes.
Edit: I’ve found 3 more paths that are useful to include in the global classpath:
C:Program Files (x86)AdobeAdobe Flash CS3enConfigurationComponent SourceActionScript 3.0FLVPlaybackfl
C:Program Files (x86)AdobeAdobe Flash CS3enConfigurationComponent SourceActionScript 3.0FLVPlaybackCaptioningfl
C:Program Files (x86)AdobeAdobe Flash CS3enConfigurationComponent SourceActionScript 3.0User Interfacefl
These are used for various component classes such as the VideoPlayer and FLVPlayback components. You still have to drag and drop the component to you library for Flash to successfully publish your file. The purpose of including them in the FlashDevelop global classpath is simply to enable code completion and syntax highlighting when using those classes.
Edit 2: I’ve updated to FlashDevelop 3.0.0 beta 9 and Flash CS4. In CS4 the class paths are quite different, so far I’ve only setup the basic Flash classes, component classes and the FL libs which include the Tween class. The three paths I use are:
C:Program Files (x86)AdobeAdobe Flash CS4CommonFirst RunClasses
C:Program Files (x86)AdobeAdobe Flash CS4CommonConfigurationActionScript 3.0projectsFlashsrcfl
C:Program Files (x86)AdobeAdobe Flash CS4CommonConfigurationComponent SourceActionScript 3.0
Thanks a lot for this very helpful tip! It’s going to save me a lot of time, especially since I can **never** remember the syntax for creating a tween. I’m spoiled by auto-complete.
Hey, any idea on how to get FlashDevelop to recognize the Adobe Air 1.5 in CS4 (for example, the NativeWindow class?) I tried the above and it still doesn’t work.
You kinda have to cheat. I wrote about this already:
i did the configuration for cs4 and flashdevelop 3.0.5 RTM and dropped me the error:
C:wampwww…canvas.as(13): col: 12 Error: Definition fl:motion could not be found.
what should i do?
You only get the fl classes if you have Flash CS3 or CS4 installed (including the free trial). The path for Flash Develops AS3 Global Class path is:
C:Program Files (x86)AdobeAdobe Flash CS4CommonConfigurationComponent SourceActionScript 3.0User Interface
Inside there you can find the fl source directory.
There are some additional fl classes here, including your elusive fl.motion package:
C:Program Files (x86)AdobeAdobe Flash CS4CommonConfigurationActionScript 3.0projectsFlashsrc
Thanks mate this was a big help. 🙂
This was helpful, thank you
This has been bugging me for ages! Not sure why I didn’t think t google this sooner 🙂 thanks a lot for the info!
Thank you very much for this. It saved my day 🙂
Hi, I’m running FlashDevelop 3.3.0 and Flash CS4 and I’m having a bit of trouble getting Flashdevelop to recognize the fl.* package for code completion and hinting purposes. I can get everything in the flash.* package, but nothing in fl.* package. Can you help me figure out where my global classpaths should be pointing?
I should note that I am on a MAC (Leopard) and am running FlashDevelop on a VirtualMachine, which is running Windows XP. I already have my MAC folders mapped in my VM, so I can see the Adobe/Flash CS4 directory, but maybe there’s a problem with setting a network location as a global classpath?
Yes, the network thing is more than likely the problem. One of my clients has a really crappy network and everybody works directly off the network file share. Because of this I can’t get code completion on my own classes within the same project. No code highlighting either. My hunch is that FlashDevelop has some internal timer that cancels code exploration if it can’t access the files in x amount of time. I haven’t found any user accessable settings to control this so I’m guessing it’s something under the hood or possibly configurable manually by editing some of the setting files. I didn’t bother going down that route and instead just copy the whole project locally, make my changes and then copy the whole thing back onto the server. Don’t ask why we’re not using SVN, wasn’t my choice!
In your case, I’d recommend copying the directories in question into your VM and then alter your global class path to point at the copied files.
I just found another cause of this error message. If you write a class and give it a getter/setter property called Color then when you actually want to use the fl.motion.Color class then you have to specify the class path in full i.e.
var c:fl.motion.Color = new fl.motion.Color();
this.transform.colorTransform = c;
Otherwise you confuse the compiler and it errors out.