MacOS – How to create custom right-click context menu items in macOS

foldersmacosshortcut-menuterminal

I've been a native windows'er up until this year and have finally made the jump to OS X. I've found my workflow (web developer) has increased substantially and I love the general performance and snappiness of my OSX.

However, I very much miss a few features of windows, one of them being how easy it was to create a new text file. Just right-click->new->text file.

I'd really like to add a "New File" option right under "New Folder" in the right click menu, and just have it make a new file in the selected folder or finder window. On top of that, it'd be really killer to have an "open terminal here" option that would open a terminal window already cd'd into the current working directory.

How can I customize the macOS Finder context menu? I want to add the menu items:

  • "New File"
  • "Open Terminal Here"
  • etc.

I've searched a bit for these but haven't found anything of substance; I could set up a hacky hotkey workaround but that's suboptimal, in my experience. So any recommendations are more than welcome!

Best Answer

This is a bit old, but nothing is drastically different in 10.8:

http://hints.macworld.com/article.php?story=20100509134904820

This a simple Service for creating new files the currently-open folder in Finder, using AppleScript and Automator.

Start by launching Automator, and in the chooser that appears, select Service. This will open a new Automator window, set up to create a Service. In that window, do the following: Set the Service to receive selected folders in Finder (the two drop-down menus at the top of the work area on the right). This makes it easier to assign a keyboard shortcut to our service, which we'll do at the end.

Drag and drop the 'Run AppleScript' action (in the Utilities Library) into the work area on the right.

Paste in the following AppleScript, then click the Hammer icon (to compile the code):

on run {input, parameters}
  tell application "Finder"
    set currentPath to insertion location as text
    set x to POSIX path of currentPath
  end tell
  return x
end run

Drag and drop the 'Set value of a variable' action from the Utilities Library, and create a new variable called, for example, CurrentFolder. (Do this by clicking on the drop-down menu.)

Drag and drop the New Text File action from the Text library into the work area. Then drag CurrentFolder from the Variable panel at the bottom of the Automator window to the Where entry of the New Text File action. Click the Options button in the action, and click the 'Show this action when the workflow runs' box. This makes it possible to change the name and extension of the new file.

Save the service as 'Create New File,' or whatever you like. Test your new action using the Services menu in Finder, to make sure it works (select a folder, Control-click, and you should see your new Service at the bottom of the contextual menu).

On the Keyboard Shortcuts tab of the Keyboard System Preferences panel, select Services in the left-hand column, and your new service (it should be in the Files and Folders section) in the right-hand panel. Assign a keyboard shortcut to the new Service by double-clicking to the right of the Service's name.

Switch back to Automator and change the leftmost drop-down menu (at the top of the work area) to No Input, then save the Service again.