For as long as I can remember (please, no snide comments from the peanut gallery - yes, mom, I mean you), I’ve wished for Actionscript support in Visual Studio. Fed up with the Flash IDE’s inability to keep up with the capabilities of other modern IDEs, over the years I’ve turned to various external editors for AS coding joy; I used to swear by SE|PY, and more recently have been known to shout the pleasure that is using FlashDevelop from the proverbial (and virtual) rooftops. So you can imagine my excitement on seeing Jon Dowdell’s tweet about Tofino, a Visual Studio plugin adding support for Flex and Actionscript development directly in Visual Studio.
This is, I have to say, cool as hell. I love working in FlashDevelop, but as good as it is (and it is freakin’ good), Visual Studio (imnsho) takes the cake as far as IDE’s go. It’s powerful, fast, makes a developer’s life easier, etc (yes, FD does all that as well, just not quite to the same extent). It’s particularly cool in that people are seeing the benefits of working inside of Visual Studio, particularly for projects that have a .NET based back-end layer. So of course I had to download and install the beta.
Off I go, and, with beta’ed breath (ewww), fire up VS and create a new project. Lovely options - Flex App, Flex Library, or Actionscript Application. I can feel the love. Being more of an AS junkie than Flex-able, I create a new Actionscript project. I like the default project layout (though it would be nice if it asked for a default namespace); it includes a src directory, bin directory, and an html template directory (which, though I haven’t tried yet, appears to be editable and allows one to customize the html generated on publish/compile). Quickly open up the default .as file, which contains a class that lovingly extends Sprite. I hop into the constructor to add a call to super() and…
Type s and press CTRL+Space. Bam. The nothingness I am greeted with rattles my teeth. What’s this, I think to myself. No code hints/intellisense? Hrm. Maybe they’ve only got that for MXML at this point. Ok, I’ll try a Flex project. Open the default MXML, try adding an opening chevron and hitting CTRL+Space; again, nahda. Add an mx: and try again? Still no love.
Ok, it’s a beta. I try simply compiling the app (Flex now as the default project), which works beautifully, opening up Firefox and showing the “Hello, World” label. Well, that was fun.
I’m not trying to detract from what they’ve done - this is a huge step forward for the Flash (and .NET/Visual Studio) community. It will be even nicer as it continues to evolve and adds things like Intellisense support, unit testing (to be fair, it might have that now, haven’t tried it, though), a visual mxml editor, integration with the Flex ISAPI filter for IIS, etc. But to me it’s more of an alpha than a beta (ok, it purports to support debugging, which alone makes it a beta, but from a pure “writing code” perspective, there’s a lot to come.
My wishlist, in no particular or practical order:
- Integrated ASDoc or XML Documentation (eg: it reads the documentation and includes it in a tooltip when relevant, for example when showing Intellisense or hovering over a method/class/property)
- Actionscript Intellisense (for both intrinsic/flash and custom classes)
- MXML Intellisense
- Support for non .swc references (eg: reference a folder structure containing .as without bringing it into the folder structure of the project)
- Visual MXML editor
- Use SwfObject as the default embed methodology (or allow a choice, either global or on a project-by-project basis)
There’s probably more, but that’s my ask for today. And though my initial review may seem a bit lukewarm, I’m really, really, really excited about this. I’ll be following proress on Tofino’s development very closely.
Get it for yourself @ ensemble.com.




