Take the Short Cut

By Daniel Wood, 2 July 2019

Introduction

Learn shortcuts. Get Better. The End.

... well okay not quite, but this is perhaps the single biggest piece of advice I could give anyone looking to improve their skills as a FileMaker developer.

You can learn all kinds of tricks and techniques and yeah they're all great and will make you a better developer. But if you can double or even triple the speed at which you carry out actions in FileMaker through memorising and committing keyboard shortcuts to muscle memory, you'll free up so much time to do so much more.

In this article we'll show some examples of routine tasks done with and without shortcuts to illustrate how much more efficient your development can be.

We will also cover how you can extend FileMaker's existing suite of shortcuts to fill in the gaps in the product. Some of the missing shortcuts are so critical to speedy development it's amazing they're not built in, but we'll show you how you can easily define and add your own (if you are on a mac!)

Finally we'll go into more depth about some of our favourite custom shortcuts we use, and show some cool shortcuts you might never have thought you could do.

 

Learning shortcuts can be tedious!

If you're a new developer, now is the best time to learn shortcuts. Learning shortcuts as you learn FileMaker is the best way to do it.

However if you're a more experienced developer and have spent years attached to the mouse, contextual menus, or inspector to do things, then you've got a much tougher challenge ahead of you. Breaking years of habit can be hard to do, and you need to make a conscious effort to practice and use shortcuts.

Shortcuts Tired

FileMaker provides a full list of mac and windows shortcuts on their help documentation. A lot of people will be familiar with some of the more frequently used shortcuts (Define Database, Open Script Workspace etc). However did you know that there are literally hundreds of shortcuts!  

We counted the total mac shortcuts available in FileMaker Pro, and there are around 260 give or take a few, that's quite a lot. Now, keep in mind that includes ones you might take for granted like cut/copy/paste, or arrow keys when in calculation dialogs to go to the start/end of a line - they're all considered shortcuts. 

 

A real world example of the benefits 

Enough preaching, time for a tangible example.

Below we have two videos. These were made for a talk I gave at the APAC Developer Day last year about this very topic.

To set the scene, we have a layout with some fields and labels, and a couple of other objects. The goal is to properly align everything nicely.  In the first video we use no keyboard shortcuts - just the inspector and contextual menus.  In the second video we use exclusively keyboard shortcuts.

We display a timer in both videos. In the second video we also show on-screen the keyboard shortcuts used.

First, no shortcuts: 

and then with shortcuts:

Without using shortcuts we took 69 seconds, and using shortcuts the same actions took 45 seconds - a saving of 24 seconds. Or to put it another way we reduced the time by over 35%.

This is just a one minute example. If you do this kind of thing for a job developing 6+ hours a day, you can equate that to over 2 hours of saved time.  Now that's an extreme example - you would have to be working exclusively in layout mode and doing a lot of manipulation to see that improvement, but this is a good illustration of how much time can be saved in increments over the course of a single day!

More to the point, I think the most important area you can learn and use shortcuts is when in layout mode. So much of layout development is making minor adjustments and then previewing your work in browse mode. This refine/preview cycle can go on for hundreds of iterations when building a layout. The quicker you can do your refinements, the more previewing you can get done in the same amount of time. You'll quickly find yourself becoming a better designer as a result. 

And one final thing on the benefits. By using shortcuts you're not just getting faster at doing what you do. You will actually end up changing the way you develop. There's a tendency in developers to build something first, and refine or pretty it up later because that part of the task takes longer and is more tedious. By utilising extra shortcuts you'll find yourself doing refinements along the way rather than at the end (where they can often be forgotten about).

 

Spot anything unusual in the video?

For the keen eye who knows their shortcuts you may have noticed in the second video a few shortcuts you may not find in the standard set that comes with FileMaker. These are custom shortcuts we have added into FileMaker to extend our full set, and add even more functionality and efficiency to development. Some extra ones in the video were:

  • Resize Selected Objects to Largest Width
  • Align Selected Objects Vertically
  • Align Selected Objects to Smallest Height
  • Align Object Text to Top

 

Adding Custom Shortcuts

In FileMaker you can actually add even more shortcuts to fill in the gaps where shortcuts are missing. There are a couple of ways you can do this.  For this article, you'll find our method in the example file that you can download below.

 

Download the example file CustomShortcuts.zip 

 

Our basic steps to add custom shortcuts is:

  1. Define which shortcuts to add, and what the modifiers/keystroke will be.
  2. Generate some code to represent those shortcuts (automated in the example file)
  3. Paste that code into the FileMaker preferences (plist file)
  4. Restart FileMaker
  5. Use shortcuts

The FileMaker preferences file (also known as the plist file), is where all settings and defaults for the FileMaker program are kept. We can add custom shortcuts to this file.

 

Mac Only (for this article at least)

At this point because we're getting into discussing how to add custom shortcuts, we must stress that the example file is for mac users only. To this point I haven't found a good way to add custom shortcuts for FileMaker on windows.   If you have a good method for doing this please get in touch and we'll update the article.

 

Code to go in the .plist file

We won't go into too much detail about the specifics around building your own shortcuts because this is all covered with instruction in the example file. However to touch briefly on what is involved, let's look at some sample code:

Shortcuts Code 

This code is for a handful of custom shortcuts. You can see the shortcuts defined as key/string pairs of tags. This looks very much like XML.  The key is the shortcut name (case sensitive and must exactly match the menu command in FileMaker). The string value is the shortcut representation.  The code uses some special symbols to represent modifier keys:

  • @ for command
  • ~ for option
  • ^ for control
  • $ for shift

the modifiers are followed by the keystroke. Note some shortcuts require special symbols to represent them, such as the arrow keys, backspace, delete key etc.  We list these special characters in the example file.

The code is pasted into your FileMaker preferences file. After restarting FileMaker you should be able to use these. Here is an example of some custom shortcuts for layout object manipulation:

Shortcuts Example 

The example file has 46 new custom shortcuts. All of them you'll find quite intuitive and similar to other existing keyboard shortcuts in the same area of FileMaker.  For example a lot of the shortcuts in the "Manage.." use command+shift as the modifiers. The custom shortcuts continue this trend so you can easily learn them:

Shortcuts Manage

 

You can also add shortcuts in System Prefs

On the mac you can add application specific shortcuts (for any app) via System Preferences -> Keyboard -> Shortcuts -> App Shortcuts.

Shortcuts Prefs

The shortcuts you add directly into your plist file will appear here, and vice versa. We prefer modifying the plist because it allows you to easily keep your custom shortcuts, and transfer them to different computers if you need to. However this is a nice way to view all of the ones you have defined or make any minor refinements.

 

Our Favourite Custom Shortcuts

Of the 46 custom shortcuts we use, there are a few standouts. These are ones either used most frequently, or quite unusual or interesting ways you can use shortcuts in FileMaker, we'll go through a few here.

 

Make Debugging Easier

FileMaker doesn't provide shortcuts to toggle the data viewer or script debugger, so why not add your own. These 2 tools are used so often in development it would be criminal not to use a shortcut!

Shortcuts Debugging 

 

Zoom to Actual Size

FileMaker provides a shortcut to zoom in (cmd+) and zoom out (cmd -), yet gives no shortcut to return to actual size, what gives? Let's just add our own. Most applications use cmd+0 as the standard, so we'll just use that, it's easy and intuitive for users and developers alike.

Shortcuts Zoom 

 

Layout object Manipulation

These are so critical. Completing the full set of layout manipulation shortcuts lets you never have to reach for the menus again. The best thing about these is they're intuitive and easy to learn if you already use the existing shortcuts (e.g. align edges)

Shortcuts Example 

 

Developing with Custom Menus?

Quite often when developing you need to build custom menus for certain layouts. While the users might require these, they can be incredibly frustrating for a developer especially when common commands might be missing from them. Often you just want to revert to the standard menu set - so why not bind a key to the standard menus? This lets you quickly an easily change the menu set no matter where you are.

Shortcuts Menus

 

Previewing Data in Layout Mode

The option to toggle sample data in layout mode is a really useful tool but is often overlooked because it is hidden away in the menus.  Through using a shortcut key you can make this accessible and easy to toggle and add this valuable feature to your toolkit.

Shortcuts Sample

in fact you can add shortcuts for any items shown above.

 

Some cool multi-shortcuts

Now for some cool stuff. In FileMaker there are certain menu commands that essentially do a similar thing, yet at any given point in time only one of them is able to be used.

We're talking about the "Setup…" menu commands:

Shortcuts Setup 

There are 8 different layout objects for which there is a setup dialog, however when working in layout mode you can only select one of these objects at a time for editing in the setup dialog.

This allows us to define the exact same shortcut for every single one. THey will never end up in conflict because only one will ever be enabled at any given time. How cool is that. It also means you only ever have to remember one shortcut.

 

Shortcuts don't just have to be for menu commands...

Interestingly, we found shortcuts can be applied to a lot of menus in FileMaker, not just the standard ones at the top of your screen. Take this menu for example:

Shortcut TableOccurrences

Here we have a specify field dialog, and in it at the bottom is a special menu command to go to the Manage Database dialog. This is actually something we can add a shortcut to.  Note this differs from the menu command File -> Manage -> Database… (the name is different).

The benefit of adding a shortcut to this item is if you have a very long list of table occurrences, you can use the shortcut to immediately access field definitions and the graph without having to exit this dialog, or go to the very bottom to access the command. Groovy.  Now, you can always use the end key to jump to the bottom, followed by pressing enter, however this is a single shortcut that will instantly open the manage database dialog without the need for 2 key presses.

 

 Work better in Script Workspace

How many times do you open the script step pane in the workspace just to look something up, and then want to get rid of it? How often do you need more space and want to collapse the script list (but easily get it back)?

Now you can just by adding some intuitive shortcuts:

 Shortcuts Script Show

These shortcuts are very easy to learn and intuitive.  Here you can also make use of a similar technique shown above with the object setup shortcuts.

If the scripts pane is hidden, then the menu command is "Show Scripts Pane". However if the scripts pane is showing, then the command changes to "Hide Scripts Pane".  

At any given time only one of those two menu items appears in the menus, so you can safely attach the same shortcut key to both commands without fear of conflict:

Shortcuts Script Hide

 

In Conclusion

I can't stress how great keyboard shortcuts are. I'm a total fanboy and I hope you all become fanboys and fangirls of them too. You'll find through a bit of dedication and time to learn them, you'll rapidly become a far better and faster developer as a result.

I encourage you also to make use of some of these additional custom shortcuts. There are some gaping holes in the standard set of shortcuts in FileMaker that fortunately we can patch with our own shortcuts quickly and easily.

Happy shortcutting!

 

Example File

We've referenced the example file a few times in this article, you can download it here. The example file contains further information about custom shortcuts and a step by step guide to defining your own and implementing them.

Click to download example file CustomShortcuts.zip 

 

Thank you Matt Petrowsky!

I wanted to give special mention to Matt Petrowsky from filemakermagazine.com who got me onto these custom shortcuts many years ago now. Since then I've embraced them and used them daily and am a huge advocate for them.

Matt produced a database back in 2011 to help you build these shortcuts and implement them. While the file may no longer work in later versions of FileMaker, I encourage you to check out his site and the page for his solution. I drew a lot of inspiration from his work!

You can find his original solution here 

 

Something to say? Post a comment...

Comments

  • Daniel Wood 08/07/2019 9:06am (16 days ago)

    hi Chuck,

    Thanks for the comment. I really like your ideas there for Keyboard Maestro, I'm going to download that app and check it out, thanks!

  • Chuck Ross 08/07/2019 6:13am (16 days ago)

    I use Keyboard Maestro, which, since I periodically export the macros and store them in iCloud, can easily be imported on a new Mac or a clean OS install.

    A disadvantage of this is that the shortcuts don't show up in the menu, but an advantage is that I can include multi-step shortcuts. One I use every day is "Script Debugger and Data Viewer" which toggle both of them with one shortcut. 90% of the time, if I want one, I want the other, and if that's not the case, it's no big deal.

    Another use case for KM is my macro to open the selected layout in the Manage Layouts window. This one clicks the "Open" button in the bottom right corner and then closes the layout list window.

    I also use it for text snippets. If I type ";let", I get a Let function formatted as I like. With FileMaker 18, I'll probably write something similar for ";while".

    Another one I user all the time is to debug the currently viewed script. With this one, it saves the script, opens the debugger and data viewer, and then starts executing the script.

    You've given me plenty of ideas for additional macros. Thanks very much for the article.

  • Kirk Rheinlander 02/07/2019 9:20am (22 days ago)

    The recently uncovered (at least for me :-) ) approach on copy>paste-to-same-position trick, might be a great one for a new shortcut. ???

    The jest of it is, in layout mode, copy, go to a new layout, then (and here the miracle occurs) enter browse mode, enter layout mode, paste.

    By having transitioned through browse and back to layout, the object pastes in exactly the same position, saving a lot of hassle when copying selective objects between layouts when you want them to maintain positional accuracy.

    So a shortcut for the paste operation, that does those last 3 steps, would be useful, no? Something to add to the [shortcut] bag of tricks!

RSS feed for comments on this page | RSS feed for all comments

Categories(show all)

Subscribe

No Tags