Xcode Actionscript Integration: The Next Step
I’ve tried the whole Eclispe setup, but I’m just too used to Xcode to really like it.
So I decided to improve the support of Actionscript/Flash Development in Xcode. In my opinion, for optimal development speed we need the following components in the Actionscript-Xcode system:
- Easy MTASC compiling with optional file pre-processing support
- Easy documentation creation
- Integration of Flash debugging into Xcode’s run log
- Full code-sense support
- Flash help file access without the Flash IDE
- Visual layout of graphics, textfields, MC’s, and vector graphics without the Flash IDE
I already have some work done in some of these areas:
I am working on a new Xcode project template that will allow integrated pre-processing & compiling of Actionscript along with easy documentation creation. This is a huge improvement over the last method, but it still isn’t perfect. I’ve done some research to see if it would be possible to make MTASC integrate seamlessly into Xcode by writing a native Xcode plugin, its definitely possible and somebody has already done alot of reverse engineering and made a plug-in for Objective-Calm.
I’ve written a BASH script that generates a list of key words from a specified class path to be used with Xcodes code sense. Although this works, its not nearly as nice has having ‘real’ code sense, but Apple has kept their API for Xcode’s source scanner class closed preventing the creation of custom source scanners.
I released XASH a little while ago allowing Flash help file access without the IDE, it still needs alot of work; but at least its usable.
Intergrated Xcode debugging is something that I’ve always thought would be incredibly awesome, but only actually realized that it could actually be accomplished within the last few months. The basic idea is you specify a custom executable and run it within Xcode. The custom executable will be a server application which will accept XMLSocket connections and redirect all input from any XMLSocket connections into stdout
. Since the server application was launched with Xcode both stdout
and stderr
are redirected into Xcode’s run log thus any input received from any XMLSocket connections will be displayed in the run log. I’m working on implementing the server application in Java and adding easy access to the ‘trace server’ (the executable allowing output to be shown in the run log) from my debug
class. When I’m all done all you’ll need to do to redirect output to the ‘trace server’ is to call debug.initSocket()
and once a socket connection is established all output send to debug.trace()
will be redirected to the ‘trace server’. The Java server will support multiple connections so it can receive trace output from multiple SWF’s. Heres a screen shot of a SWF’s trace output being redirected to Xcode’s run Log:
Visual layout of graphics, textfields, etc, etc would be really cool also. A project like this would actually be possible using SWFMILL as the underlying engine to create the SWF.
I’m working on getting everything packaged up and documented so I can release it into the wild.
Awesome… Let me know when you’ve made some progress. I use Xcode for my projects now, obvioulsy in a far more limited way than what you have planned.
thanks mate
Yesterday, I got the special treatment from a friend who insisted I use Eclipse and set me up with it and FDT. There are some really nice things about it that I wish Xcode were able to do better like full code completing, but I still prefer XCode right now. Eclipse is clunky and a memory hog. It continues to reset my saved settings, and just offers almost “too much.”
Eclipse may have more online documentation, but I’m going to stick with XCode, and I really appreciate everything you’ve shared so far. Do you know if Flex is going to be only Eclipse specific?
Have you been able to improve this and perhaps a public release? (or how-to)
I sure like to boost XCode and try to use that over Eclipse, which keeps me having to restart my mac every day or so.
Yes, I’ve actually made some significant progress on the trace system. I wrote a cocoa app for better handling of the tracing system. I’ve written a system of BASH scripts to handle the compiling, pre-processing, and documentation of AS source code. I just havent had enough time to package this all up and release it to the community. I’m hoping this week I’ll be ready to release the trace program.
I can’t say enough about all of you talented folk out there who share your hard work with us all. We here at our film production and distribution house do our best to document and share the findings from our own processes, R&D, etc. It’s the least we can do to pay the gesture forward, and something we are committed to practicing.
I’ve rounded up a folder of downloads from multiple blogs and sites in the hopes of eventually modding Xcode as an AS IDE, but I’m left feeling a little lost as at this point, I’m not sure where to begin. As much as I’d love to jettison my Flash IDE for Xcode, I’m not near saavy enough to know which files, plugins etc go where, exactly. Any advice on where to look for a step by step guide to pulling this Frankenstein together would be much appreciated. It’s entirely possible that I simply haven’t come upon it yet. I figured it wouldn’t hurt to stop and ask for some digital directions. Thanks again to all you selfless genius’s out there, making so many things better for so many of us! You rule!
Thanks! 🙂
There isn’t much documentation out their on modding Xcode. This is probably the best (or easiest to understand) tutorial out there explaining how to get things working in Xcode. You can use my updated files instead of the files they provide though.