はじめに
t-miyakeさんのVisual Studio for Macで簡単に複数ウインドウを開けるようにするを見て,もっと簡単にできないかなぁ,もしかしたらコンテキストメニューのサービス化してしまえば簡単なんじゃないかなぁと思ったので作ってみました.
作り方
Automatorからサービスを作成する
ApplicationからAutomatorを開き,新規から"サービス"を選択します.
コンテキストの対象を設定する
slnファイルのようなファイルを対象としたときにコンテキストメニューが表れてほしいので,対象を ファイルまたはフォルダ に設定し,検索対象をFinderに設定します.
アクションを指定する
今回は簡単にダイアログが表示できるAppleScriptを使ってみましょう.
コードを書く
Apple Scriptを初めて触った人間のコードなのでひどいですが,こんな感じのものを書きます.
on run {input, parameters}
set theDialogText to "Open in a new window?"
display dialog theDialogText
set button_result to result
set file_path to quoted form of POSIX path of input as string
if (button returned of button_result) as text = "OK" then
set scr to "open -n " & file_path
do shell script scr
end if
return input
end run
もう新しいウィンドウで最初っから開く気があるのでdisplay関連は正直いらない気がします(
保存していい感じの名前をつける
ここで保存したファイルの名前がコンテキストメニューに表示されます.
私は"新しいウィンドウで開く"みたいにしてみました.
出来たもの
上のgifのように,Finderからソリューションファイルを右クリして,コンテキストメニューから"新しいウィンドウで開く"をクリックするだけで新規ウィンドウでVisual Studio for Macを開くことが出来ました.
まとめ
- Automatorでサービス化すればアプリケーションの不満点を補い使うことが出来る
- スクリプト内で使った
open -n
が実際最強