FlashDevelop 3, unsorted plugins

Last week I started a new Flash project, and unluckily it was an ActionScript 2 project!…
Oh, It was so long time since I last wrote as2 code… I didn’t remember it’s so boring and poor . Actionscript 3 it’s a complete different world compared to as2, now I can understand this better. BTW, I decided to use for this project FlashDevelop 3. I still remember the days when they first announced the birth of this project (those days when I still was writing sepy…), but I never really try it in depth.
After 2 days using it I was fully satisfied of my choice, this is really an awesome project!

But.. because I’m too curious, I wanted to take a look also at the source code.. just to a look. Also because I never coded in C#.
Anyway, after a couple of days I found that making plugins wasn’t so hard, even if for a c# newbie like me (and also thanks to some tip from Philippe), and so I wrote down some testing plugins. they’re not killer plugins at all, just simple program addons.

1. SourceOptions: this is the very first I did and in fact it doesn’t do anything special. In AS2 and AS3 files it adds to the scintilla contextual menu three more options: “organize imports” (similar to the  one in flex), “add getter/setter method” and “add accessor method” (when you click on a class variable)

2.  Bookmarks panel: This create a docking panel displaying all the current opened files and keep updated their bookmarks.

3. Flash API panel: Similar to the one included in the Flash IDE. Just give (in the plugin settings) the path (one or more) of the xml included in the ActionsPanel flash directory and it will display the full list of all the language available actions/methods/classes. Double click on an item will insert the command in the document text giving also the description of the selected command in a tooltip.

Tip: those xml file can be found in a directory like this:

C:\Users\sephiroth\AppData\Local\Adobe\Flash CS3\en\Configuration\ActionsPanel\ActionScript_3\ActionsPanel_3.xml

4.  ASClassWizard: It overrides the “New Class” project menu command and displays a wizard dialog for creating a new ActionScript 2/3 class. Give the package, the classname, super class, implementing interfaces and it will create your class.

Note: Remember that those plugins work only with the last 1769 FlashDevelop 3 build, available here:


Project Home at http://code.google.com/p/fdplugins with all the latest versions of these plugins and more plugins

  • You might want to rename the “SourceControl” section. I think of “source control” as interaction with some kind of version control system like CVS or SVN. It doesn’t seem like that’s what those are.
    But awesome work. I loved FlashDevelop, but finally got switched over to Eclipse.

  • So when can we expect the new version of SE|PY that’s AS3 friendly 😀

  • vinnie vivace

    awesome work dude! id been a staunch SEPY user until FD went ver 3 and then as nothing had been moving with SEPY i made the switch… now your putting your mind to FD its like the perfect scenario. Thanks heaps for these plugins… only thing i miss from SEPY now is the XPath thingi and the customizable TODO list (HINT HINT)
    thanks for sharing your efforts.

  • vinnie vivace

    couple of issues im noting.
    when docked with other panels (e.g. projects/files etc) bookmark panel always takes the focus on startup rather than returning to the last focused panel.
    also with the class wizard if i check the generate constructor from super, i get this error:
    Object reference not set to an instance of an object.
    at ASClassWizard.PluginMain.ProcessArgs(Project project, String args)
    at ASClassWizard.PluginMain.HandleEvent(Object sender, NotifyEvent e, HandlingPriority prority)
    at PluginCore.Managers.EventManager.DispatchEvent(Object sender, NotifyEvent e)

    and finally, how do i use the source control organice imports tool, its always greyed out…


  • @Keith: Yeah, you’re right.. I will reame the plugin to avoid confusion.
    …And, I loved Eclipse, but after years of using it I found it irritating for many things.

    @Vinnie: Thank you for the feedback, I will check them. btw, are you using the latest fd3 build?
    Actually “Organize Imports” works only for AS2 files, because of an issue of FD3 with AS3 files.

  • joene

    Great work! Although I have to agree with Vinnie, I really miss the todo panel 😉

  • yep latest build. cheers

  • Finty

    this really rocks! it’s nice having an alternative to Flex Builder.
    are there any plans for a wysiwyg for mxml 🙂
    great contribution to the community

  • Thanks, just updated asclasswizard and renamed sourcecontrol to SourceOptions

  • If you add the Quick Find from SEPY, you’d be an even bigger rock star than you are right now 🙂

  • Hmmmm, cannot find “New Class” menu option in “Project” menu
    Download FlashDevelop 3 rev. 1769
    And path to XML file for FlashAPI plugin in my case is slightly different:
    “c:\Program Files\Adobe\Adobe Flash CS3\en\First Run\ActionsPanel\ActionScript_3\ActionsPanel_3.xml”
    Although in my case, contents inside FlashAPI plugin after the plugin was supplemented with this file destination remains empty 🙁

  • joene

    The ASClassWizard is very nice, saves me a lot of time. Would it be possible, though, to add a textfield in the “select superclass” and “select interface” popups, so you can type (and filter) the class / interface you are looking for?
    Thanks, keep up the good work 🙂

  • I just added a TaskList panel (showing the TODO project list) and a Quick find panel, (similar to the Firefox one).

    Also an update of all these plugins is available here (I setup a project at google code):

  • awesome work dude. thanks again. The new auto-complete on the new Class wizard is cool, though would be nice if the input box automatically gets focus.
    Also i continue to get an error when selecting generate construct:
    Object reference not set to an instance of an object.
    at ASClassWizard.PluginMain.ProcessArgs(Project project, String args)
    at ASClassWizard.PluginMain.HandleEvent(Object sender, NotifyEvent e, HandlingPriority prority)
    at PluginCore.Managers.EventManager.DispatchEvent(Object sender, NotifyEvent e)

  • stefano

    I’m sure you don’t like AS2: but, believe me, I won’t upgrade and use AS3 (CS3 license is really expensive and Eclipse is a “pig”: too much memory used and no comfortable things when the Flex Builder expires). I’m sure my “market” won’t worry: I’m still using Flash MX AS1 and everything is fine 🙂

  • Okay so I LOOOVED SE|PY, but it looks like I need to learn to love FD huh? 😉 its nice to see you bringing some of my SE|PY favs over to FD maybe it will make me feel more at home. One small request (if your taking them), how about an AutoFormat plugin?
    Thanks again Alessandro!!

  • I’ve created a project on googlecode for the FD plugins I’m creating. There you’ll find all the updated versions:


  • C# is a promising language,I should learn it asap.Because you are an expert you manage it quickly.

  • Kri

    Would you be so kind and rebuild yours plugins to be able to work with new FlashDevelop 3 Beta 3 as PluginCore has been changed and now there is en error when lunching FlashDevelop and plugins don’t work any more.
    The error: Unable to cast object of type ‘SourceOptions.PluginMain’ to type ‘PluginCore.IPlugin’. at FlashDevelop.Utilities.PluginServices.AddPlugin(String fileName)
    I’d appreciate to be able to use your plugins again. Thanks.