サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

Finder にワンクリックでテキストファイルを作る - AppleScript アプリケーションをツールバーに登録する

プレーンテキストの威力

サポンテは、ちょっとしたメモからブログの下書きまで、なんでも「プレーンテキスト」書類で書いています。プレーンテキストは最強です。複雑さがなくファイルが壊れにくいため、最も安全なファイル形式と言え、古今東西、とくにエンジニアを中心に愛されるファイル形式です。

Mac を含む Unix 系 OS には touch というコマンドがあり、簡単に空のファイルを作ることができるのですが、cdto を使ってターミナルを開いてファイル名を入力して...とやるくらいならもうクリック一発でファイルを作ってほしい。

テキストエディタで少し書き始めてからメニューで「保存」を選び、場所を選んでファイル名を入力して...とやるのも面倒ですし、先にファイルを作ってから中身を書いていきたいという使い方をすることがサポンテは多いのです。

いっそターミナルだけで生活すれば良いではないかと言われるかもしれませんが、サポンテは Finder を結構気に入っています。Finder をアウトラインエディタのように使っているためです。

Finder の威力

プレーンテキストが最強のファイル形式であると感じているのと同様、Mac の標準ファイルブラウザである Finder が__とくにカラム表示では__アウトラインエディタ的にも使えるとても強力なツールではないかとサポンテは感じています。

アプリケーションの作成

ということで、Finder のツールバー上でワンクリックするとテキストファイルを作ってくれるアプリを作ってみたいと思います。また作られるファイルのファイル名は作成した日がわかるようにデフォルトで日付プラス拡張子のような感じにして欲しい。

まず AppleScriptエディタ を開き、下記のスクリプトをコピーしてください。下記のスクリプトは、一部のコードをこちらのブログから参考にさせていただいています(どの記事だったかは失念してしまいました。すみません)。ありがとうございます。

(*
   Finder で現在のフォルダに空のテキストファイルを作る
   Version 1.0
   
   作成:http://saponote.hatenablog.com
   参考:http://wakabamac.blog95.fc2.com/
*)

-- 今日の日付を取得する

-- date
set today to current date

-- Year
set theYear to ((year of today) as text) as text

-- Month
set theMonth to ((month of today) as number) as text
if length of theMonth is 1 then set theMonth to "0" & theMonth

-- Day
set theDay to (day of today) as text
if length of theDay is 1 then set theDay to "0" & theDay

set the_date to theYear & theMonth & theDay

set file_name to {name:the_date & ".txt"}

tell application "Finder"
    try
        if Finder window 1 exists then
            -- Finder ウィンドウが開いていた場合、そのウィンドウに表示されているディレクトリに空のファイルを作る
            set target_folder to target of front window
            make new file at target_folder with properties file_name
            
            -- 作成したファイルを選択状態にする
            set select_target to (document files that name is name of file_name) of front window
            select select_target
        else
            -- Finder ウィンドウが開いていなければ、デスクトップに作成する
            make new file at desktop with properties file_name
            
            -- デスクトップに作成したファイルを選択状態にする
            set select_target to (document files that name is name of file_name) of desktop
            select select_target
        end if
    on error error_message number error_number
        beep
        display dialog error_message with icon caution buttons {"OK"} default button 1 giving up after 120
    end try
end tell

そして「保存...」または「書き出し...」で「アプリケーション」形式で保存します。

f:id:saponte:20200211231421p:plain
アプリケーション形式で保存します。保存先はアプリケーションフォルダが良いでしょう。

Finder のツールバーに登録

保存したものをコマンドキー(⌘)を押しながら Finder のツールバードラッグアンドドロップします。

使ってみよう

Finder のツールバーに登録したアイコンをクリックしてください。これで、Finder で現在開いているディレクトリに今日の日付 + '.txt' というファイル名で空のファイルを作ってくれます。

f:id:saponte:20200211231512p:plain
Finder のツールバーに登録したアイコンをクリックします。

作った後はスクリプトが Finder で選択状態にしてくれますので、return キーを押せばファイル名を好きなように編集できます。

f:id:saponte:20200211231603p:plain
ファイルが作成されました。作成したファイルは Finder 上で選択状態になります。

拡張子は、スクリプト中に .txt をそのまま書いていますが、マークダウンをよく書く方は .md にするなどして使うのも良いでしょう。

新装版 達人プログラマー 職人から名匠への道

新装版 達人プログラマー 職人から名匠への道