As I wrote back in September, Snow Leopard changes the rules regarding how documents you create are opened--at least for certain file types. Although the long-established Mac OS creator codes are retained in Snow Leopard, they're no longer used to determine which programs open which files. You can read my article for more detail on this change, but suffice it to say that it's been bothering me a lot since the release of Snow Leopard.
Lately, though, it's been bothering me much less, due to a nifty little program called LaunchCodes that forces the system to respect the creator code for file types you specify.
Once running, LaunchCodes works silently and quickly in the background. The program's only interface is a new icon on your menu bar. To configure LaunchCodes, choose Preferences from this menu. The preferences window displays four pre-configured file types: html, jpg, rtf, and txt. (These are classic Mac OS file types; the file extension and file type may differ for a given doc.) Next to each entry is the default application for that file type. For any type of file listed here, if a particular document has a creator code, double-clicking the document will open it in the application corresponding to that creator code (for example, R*ch for BBEdit); if the file doesn't have a creator code, it will open in the default application.
Note that the applications listed here are initially Mac OS X's defaults. You don't need to change them to make LaunchCodes work, since LaunchCodes does its thing based on creator codes; these programs are used only when a document doesn't have a creator code. However, if you prefer to change the default application, you can do so--the effect is similar to using the Finder's Always Open With command for that particular file type.
You can add or remove file types as you wish; just click the plus or minus sign at the bottom of the window. Adding the pdf file type, for instance, will make your Acrobat-created PDFs open in Acrobat, even though Snow Leopard's default application for PDF files is Preview. (If you don't know the file type for a file, you can get it via a number of Mac OS X utilities, such as Quick Change or FileXaminer.)
Is LaunchCodes a perfect solution to the document-opening issue in Snow Leopard? Not quite. First off, it won't work if your file doesn't have both a file extension and a creator code. That is, if you save a file from BBEdit and name it "My Document," it will open in TextEdit when double-clicked, even with LaunchCodes running. Rename it to "My Document.txt," though, and it will open in BBEdit. (This limitation is intentional; to support files without extensions, the developers would have had to mess around with some system files, and they don't want to do that.) The workaround for this problem is to drop the file onto the LaunchCodes application icon in the Finder; LaunchCodes will then read the creator code and open the file in its creating application (assuming you've listed that file type in LaunchCodes' preferences, of course).
LaunchCodes also won't pass along Apple Events, and due to the way the program works, the Finder's Get Info window (and Open With menu) for a file handled by LaunchCodes will show LaunchCodes as the opening application. (Thanks to Michael Tsai for identifying these issues; see his article for more details).
Finally, and this should be obvious, but I'll state it anyway, LaunchCodes works only with documents that have a creator code. Apple's applications in Snow Leopard, for instance, don't use creator codes at all, so LaunchCodes won't be of any help with files created by these programs.
On the other hand, because LaunchCodes is simply an application, rather than some type of system hack, it's easy to revert back to the default 10.6 behavior. (Note that any default-application settings you've changed in LaunchCodes will remain in effect after quitting LaunchCodes.)
At $5, LaunchCodes is an inexpensive fix to a problem that bothers many people, myself included. Ideally, Apple will come up with a long-term solution to satisfy users on both sides of this "which application should open a file?" issue (many love the new behavior). Until that time, though, I'll be using LaunchCodes to make my files behave in the manner I prefer.