When selecting keyboard shortcuts for menu commands in Kaleidoscope, we generally follow the practices recommended by the Apple Human Interface Guidelines as well as other common apps that our customers might use in combination with Kaleidoscope.
Still, our choices won’t please all users. Every so often, we receive feedback asking us to change a shortcut or to provide the ability to customize shortcuts. Some apps for power users, such as Xcode, provide full customization options for keyboard shortcuts (named Key Bindings in Xcode), but for Kaleidoscope we haven’t found this worth the effort so far.
There’s a solution in plain sight: System Preferences provides the ability to set custom keyboard shortcuts for apps. Let’s explore this to set a keyboard shortcut for the recently added Normalize JSON menu entry in the View menu of Kaleidoscope, as this does not have a default shortcut.
Example: Set a Keyboard Shortcut for Normalize JSON
On macOS Monterey, start System Preferences, find Keyboard and then select Shortcuts. On the left side, select App Shortcuts. Now you can add a custom shortcut by clicking the + (Plus) button below the list on the right side.
In the sheet that appears, select Kaleidoscope as Application and type Normalize JSON into the Menu Title field. To assign a keyboard shortcut, click into the Keyboard Shortcut field. Now press the key combination you want to assign, e.g. ⇧⌘J. Click Add to confirm the assignment.
Now start Kaleidoscope and open some JSON files. Not only does ⇧⌘J immediately do what you expect, you can even look at the View menu and note that the Normalize JSON menu entry shows the keyboard shortcut you just assigned yourself. And in case you are wondering, yes, you can also use this option in System Preferences to override keyboard shortcuts that we have defined.
What is JSON normalization?
In case you haven’t heard, we added the Normalize JSON capability in Kaleidoscope 3.5. It’s a very useful feature that makes it possible to compare JSON content. By its nature, JSON doesn’t have a defined order, so typically the order of items changes randomly, which makes comparing JSON content almost impossible. Normalize JSON puts JSON content in a well-defined order and format, enabling you to compare the actual content changes.
New location on macOS Ventura
The steps are a little different if you are on macOS Ventura. You need to start System Settings instead, select Keyboard from the list on the left, then find the button Keyboard Shortcuts… on the right. In the sheet that appears, select App Shortcuts on the left. Then click the + (Plus) button below the list on the right and follow the steps above.
Next time you stumble upon an app that has a keyboard shortcut assignment that you don’t find useful, or if the app is missing a shortcut for a command you need to use all the time, you now know how to make it work for your needs.
In case of Kaleidoscope, we still want you to let us know if you think the defaults are not ideal. We strive to provide a valuable tool for our users, and if it doesn’t do the job, we need to know, so we can think about improving it!