なんでこの機能はmacにないのか(「finderからカレントディレクトリをターミナルで開く」編)
名も知らない人の備忘録に常々助けられているので自分でも書いてみることにする。
私は大学に入るまではずっとwindowsしか触って来なかったwindows信者だが、大学からは値段や重量を考慮して持ち運び用としてMacBookを使用している。
が、windowsをずっと使ってきてからmacに触れると困惑することが多い。トラックパッドもなかなか慣れなかったし。
特にwindowsにはあるのにmacには標準搭載されていない機能があると「なんでこの機能ないん?不便すぎんか?」となる。(私が知らないだけかも知れんが)
そんな機能の内の一つが「finderからカレントディレクトリをターミナルを開く」である。
windowsではエクスプローラ内で右クリックをすると「ここでターミナルを開く」と表示される。(うろ覚え)
それをクリックすればそのフォルダをカレントディレクトリとしたターミナルを開くことができる。
ところがmacではフォルダ内で右クリックしてもそのような文言はなんも表示されない。
一応フォルダを右クリックすれば「フォルダに新規ターミナル」と表示され、ターミナルを開けるがそれは右クリックしたフォルダをカレントディレクトリとしたターミナルであり、現在開いているフォルダに対してではない。
まぁ同じことを考える人はたくさんいると思うので調べてみたらやっぱりあった。
どうやらAutomatorっていうのを使えばいいらしい。プログラムを書いていろいろできるみたいですね。
が、少し問題が。
確かにターミナルが2つ起動する。
上記の通り実害はそんなにないのだが少し気持ち悪い。
そこでコードを少し変更する。
on run {input, parameters}
tell application "Finder"
set hfsCurrentFolder to insertion location as Unicode text
set currentFolder to get POSIX path of hfsCurrentFolder
end tell
#以下変更
do shell script "open -a Terminal " & currentFolder
#変更終わり
end run
ターミナルに対するactivateあたりが二重に起動する原因のように思えたので、シェルでターミナルを開くように変更した。
まとめ
Automator、というかappleScriptについて調べてたら色々面白そうなこともできそうだった。(充電端子を刺したら特定の音が鳴るようにするとか。実用的ではないけど)
フォルダを直接VScodeで開くことも多分できそうなのでそれもやってみようと思ったり。
(筆者はmacエアプ、プログラミングエアプなので改善点とかあったら教えて欲しいです。あとappleScriptでできる面白そうなこととかも)