FinderのコンテキストメニューからVisual Studio Codeを開けるようにする【Mac】
Finderでファイルorフォルダを選択して右クリックで表示されるコンテキストメニューに「Visual Studio Codeで開く」項目を追加します。
環境
概要
Automaterアプリでコンテキストメニュー項目を作成し、シェルスクリプトでvscodeを起動する。
手順は下記記事と同様。
手順
Automater.appを起動する。
cmd + space
で表示される窓から検索すれば良い。
作成する書類の種類は「クイックアクション」を選択。
左サイドの「ライブラリ」から「ユーティリティ」を選択して、「シェルスクリプトの実行」を右側の領域へドラッグアンドドロップする。
右側の領域で設定を色々弄る。
- ワークフローが受け取る現在の項目:「ファイルまたはフォルダ」
- 検索対象:「Finder.app」
- 入力の引き渡し方法:「引数として」
最後に、実行するシェルスクリプトを以下のように変更:
open -a "Visual Studio Code" "$@"
cmd + S
で変更内容を保存する。
クイックアクションの名前は、例えば「Visual Studio Codeで開く」とする。
この名前がコンテキストメニューに表示される項目名となる。
作業は以上で終わり。
これで、Finderで適当なファイルやフォルダ(複数でもOK)を選択、右クリックで表示されるコンテキストメニューの「クイックアクション」の中に、今作成した項目「Visual Studio Codeで開く」が追加されていることが確認できる。
また、「システム環境設定」>「拡張機能」>「Finder」にも作成した項目が追加されている。
補足
以下補足です。
保存されるファイルの場所
今回Automater.appで作成した書類は、以下ディレクトリに.workflow
という拡張子で保存される。
/Users/<username>/Library/Services
コンテキストメニュー項目を表示する場所
「クイックアクション」の中じゃなくて、最上階に表示してくれた方がうれしいのだが、その方法はわからない。多分無理なのでは。
シェルスクリプト解説
open -a "Visual Studio Code" "$@"
open -a
コマンドは、引数で指定した名前のアプリを起動するコマンド。
おそらく/Applications
ディレクトリにある.app
ファイルの名前を指定すれば良い。
$@
はvscodeをコマンドラインから起動する時に与える引数。
この引数は、Finderで選択しているファイルやフォルダが与えられる。
$@
というシェルの特殊変数は、引数で与えられた複数の変数を、それぞれ別々の変数として解釈される。
つまり、hoge1.txt
とhoge2.txt
を選択して「Visual Studio Codeで開く」押下時に実行されるシェルスクリプトは、以下のようになる。
open -a "Visual Studio Code" "hoge1.txt" "hoge2.txt"
参考記事では$@
を展開するためにfor文を回しているが、おそらく不要。
また、vscodeをコマンドラインから起動するコマンドcode
をインストールしているなら、実行するシェルスクリプトは以下でもOK。
code "$@"
短くなっただけ。
以上