Mac OSXで右クリックで新規ファイルを作成

Macを使い始めて最初に感じた違和感が、「右クリックで新規ファイルの作成が出来ない」ことでした。


少し調べてみるとNuFileというアプリケーションで可能になるらしいのだけど、現在(2012/12)は公開されてない模様。

その他、誰それさんが作った GetFilePath.action を入れましょう!などと親切な人のブログも有るには有ったけど、この程度のことを何か得体の知れないファイルをダウンロードしないと実現できないの?
と思ったので、憤りつつ試行錯誤した履歴を残しておこうと思います。



英語圏でググっているとどうやらAutomatorを使ってAppleScriptを登録する手法があるみたい。

以下はここに記述されてある内容で作業を進めて行きます。
Create a new file in the Finder
http://www.macworld.com/article/1151236/createnewfileservice.html


Launchpadから[その他]のグループアイコンの中にAutomatorがいるので起動。


サービスをクリックして[選択]ボタンを押す。



デフォルトだとこうなっているのでクリックして対象を[フォルダ]に変更。










[アクション]ー[ユーティリティ]ー[AppleScriptを実行]をワークフロー領域へドラッグドロップ。
(英語表記だとRun AppleScriptを選択)


ドロップするとスクリプトのエディターウィンドウが出るので、そこに下記のスクリプトを貼りましょう。

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



ハンマーアイコンを押すとコンパイルされ色が変わります。
ここまでが右クリックされた時に動くアクション。


次にスクリプトへ渡すディレクトリの情報を変数として登録します。

[アクション]ー[ユーティリティ]ー[変数の値を設定]をワークフロー領域へドラッグドロップ。
(英語表記だとSet Value of Variableを選択)



変数を設定するためのウィンドウが開きます。



デフォルトだと記憶装置だかになっているので、この変数名のところでゆっくり2回クリックし、名前の変更。


基本的になんでもいいんですが、フォルダ名を渡す変数なので[CurrentFolder]にします。


下段ウィンドウに変数[CurrentFolder]が登録されたはず。
もし間違えたら下段のレコードをクリックしてdeleteキーで消せますのでやり直しましょう。


最後に新規テキストファイルを開く際の設定を指定します。

[アクション]ー[テキスト]ー[新規テキストファイル]をワークフロー領域へドラッグドロップ。
(英語表記だとNew Text Fileを選択)


こんなのが出ます。


ファイル作成の場所がデフォルトでは[デスクトップ]になっているので、ここに先ほど作成した変数[CurrentFolder]を当てはめます。

下段ウィンドウの[CurrentFolder]を場所の所へドラッグドロップすると値が変わるはずです。


あとは基本的にデフォのままでも良いんだけど

ファイルをWindowsへ頻繁に送ったりする人は、Shift JISなんかにしておくと文字化けしなくて便利なのかも。



オプションにチェックを入れると、新規ファイルの作成時にファイルの名前や種類を選択することができます。


[ファイル]ー[保存]
で今作ったスクリプトを保存しましょう。










ここで付けた名前が、右クリックした時に表示されるメニューに表示されます。New Textでも新規ファイル作成でも何でも良いですが [ファイル作成] にしてみました。

これで完了です。


ではFinderの中のフォルダを右クリックすると、メニューの一番下に [ファイル作成] が登場しました。
もし表示されない場合はOSを再起動してみて下さい。



ファイル作成を選ぶと、オプションの設定で指定した内容が表示されていますか? [return] か [続ける] ボタンでファイルが出来ます。




作成された新規ファイルを開いたところ。
なぜか、テキスト内にCurrentFolderのパス名が送られてる。
んーー。



つづく

続 OSXで右クリックで新規ファイルを作成 その後






対象OS:Mac OS X 10.8.2 (Mountain Lion)
    : Mac OS X 10.9.4 (Mavericks)