Archive for the 'Flash/Flex/Flex Builder' Category

More Flex Builder 3.0 debugger features

I’ve been meaning to post this ever since we released Flex Builder 3 Beta 2 a few weeks ago. There are some nice debugger enhancements I wanted to tell you about (in addition to the features that were in beta 1, which I described in June).

Hierarchical variables view.

Reduces clutter in the Variables view by grouping all superclass members in a separate tree node, so by default you only see the members of the current class.

inherited.png

Much faster single-stepping.

Previously, if any variables such as “this” were expanded in the variables view (so that their members were visible), then single-stepping in the debugger was somewhat slow. It is now much, much faster — in fact, single-stepping with variables expanded is just as fast as single-stepping with variables collapsed. In one quick test I just ran, single-stepping in Flex Builder 3 was twenty times faster than in Flex Builder 2. In Flex Builder 3, I can just hold down F5, and even on a slow machine, it is executing about ten single-steps per second.

No more “Where is the debugger” dialog.

Now when the Flash player runs a debuggable application (swf) but can’t find a debugger, it just runs the app, with no annoying dialog. (If you want to force it to prompt for a debugger, do right-click > Debugger on the swf running in the browser.)

No more separate debug swf in your bin folder.

Flex Builder 2 created YourApp.swf and YourApp-debug.swf — and also YourApp.html and YourApp-debug.html. Flex Builder 3 no longer creates the "*-debug" files. This speeds up compilation — Flex Builder only has to create one swf — and greatly simplifies writing code that has to refer to other swfs by filename.

In Flex Builder 3, the files in the “bin” directory are debug files. (Before we ship, we will probably rename that folder to “bin-debug”.) To get the release files, use the Export Release Version command, which creates a separate “bin-release” directory. There are more details in this blog post and in this video.

no-debug-swf.png

Flex Builder 3 works with Eclipse 3.3

Hey, in case you didn’t notice — the beta of Flex Builder 3 works with the beta of Eclipse 3.3. Give it a try!

Eclipse 3.3 has lots of nice new features. One of my favorites — especially when I am working on the Mac — is Cmd+3 (or Ctrl+3 on Windows). This gives you full keyboard access to every menu item, command, preference, etc., just by typing a few characters of the command. E.g. if you want to rename something but can’t remember the keyboard shortcut for rename, just type Cmd+3, “rename”. You’ll be shown a list of every command that includes that word.

On Windows this is nice but not really a big a deal; but on Mac, it’s awesome for keyboard-heavy users like me.

(By the way, you can set up Quicksilver to do something similar for all apps by following an elaborate set of steps; but it’s hard to figure out how to do, and the end result isn’t quite as easy to use as what Eclipse has done.)

For the full description of the feature, go to this page and then search down for “quick access”.

Flex Builder 3.0 sneak peek: debugger tooltips

In a way this is a small thing, but it is certainly one of the most-requested debugger features, and I’m relieved that this is finally in the product: debugger tooltips. It really should have been in Flex Builder 2.0, but it didn’t make it in due to time constraints.

So you’re debugging:

1.png

You want to know the value of ‘i’:

2.png

Flex Builder is smart enough to figure out, from context, what expression you probably wanted to see, which is often more than just the single token under the cursor. In this example, when you hover over picDimension, Flex Builder is smart enough to realize that what you probably actually want to see the value of is picDimension[i], not just picDimension:

3.png

picPos[i] is an instance of class Point:

4.png

In the above screenshot, we didn’t automatically show you picPos[i].y, because there is an easy way for you to get that yourself, by hovering over the “y” at the end of the expression, as shown here:

5.png

If you hover over the “length” part of the expression “gallery.photos.length”, we figure out from context what you are looking for — you want gallery.photos.length, not just some global called “length”:

6.png

You can select an expression and hover over it:

7.png

Finally, in all of the above cases, if you right-click, there is a new “Watch” command, to add the expression to the Expressions view. As with the tooltip, it figures out from the current context what expression you probably wanted to watch:

8.png

And in case you missed it, Ted has been posting other sneak peeks all week.

« Previous PageNext Page »