Finderで選択したフォルダをVisual Studio Codeで開くAlfred Workflowの作り方

Finderで選択しているフォルダやファイルを、Visual Studio Codeで開くWorkflowの作り方を紹介しておきます。
作り方といっても、既に「Open with Sublime Text」というWorkflowを作ってくれてる人がいるので、このWorkflowを基にして、Sublime Textが開く部分をVisual Studio Codeに変更して作成します。
Open with Sublime Textのインポート
まずはGitHubのページから、「Open with Sublime Text」をダウンロードします。
「Open with Sublime Text.alfredworkflow」というファイルが入ってあるので、それをダウンロードしてダブルクリックすると、Alfredにインポートできます。

Visual Studio Codeで開くように修正
インポートしたら、念のためそのWorkflowを複製しておきます。
Workflowを右クリックして[Duplicate]をクリックすると複製できます。

インストールしたら、「Sublime Text」になっているところを「Visual Studio Code」に変えていきます。
- テキストが「Sublime Text」になっているのを「Visual Studio Code」に変更
- アイコンをVisual Studio Codeのものに変更
- キーワードが「subl」なのを「vs」などに変更する

「Run NSAppleScript」をダブルクリックして、開くアプリを「Sublime Text」から「Visual Studio Code」に変更します。
具体的にはset appPath to path to application "Sublime Text"の部分をVisual Studio Codeに変えます。

これでFinderで選択しているフォルダやファイルをVisual Studio Codeで開けるようになります。
Path Finderのパスも取得するようにしたい
このままでは、Finderの選択フォルダは開けるのですが、Path Finderの選択フォルダは開けません。
そこで、「Run NSAppleScript」の処理を書き換えて、Path Finderの選択フォルダも開けるようにします。
on alfred_script(q)
set finderSelection to ""
set theTarget to ""
set appName to "Visual Studio Code"
set appPath to path to application appName
set defaultTarget to (path to home folder as alias)
tell application "System Events"
set selectApp to name of the first process whose frontmost is true
end tell
-- comment line above and uncomment line below to open desktop instead of user home when there's no selection or open folder in the Finder:
-- set defaultTarget to (path to desktop folder as alias)
if (q as string) is "" then
if selectApp is "Finder" then
tell application "Finder"
set finderSelection to (get selection)
if length of finderSelection is greater than 0 then
set theTarget to finderSelection
else
try
set theTarget to (folder of the front window as alias)
on error
set theTarget to defaultTarget
end try
end if
tell application "Finder"
open theTarget using appPath
end tell
end tell
else
tell application "Path Finder"
set theTarget to POSIX path of the target of the front finder window
end tell
tell application appName
open theTarget
end tell
end if
else
try
set targets to {}
set oldDelimiters to text item delimiters
set text item delimiters to tab
set qArray to every text item of q
set text item delimiters to oldDelimiters
repeat with atarget in qArray
if atarget starts with "~" then
set userHome to POSIX path of (path to home folder)
if userHome ends with "/" then
set userHome to characters 1 thru -2 of userHome as string
end if
try
set atarget to userHome & characters 2 thru -1 of atarget as string
on error
set atarget to userHome
end try
end if
set targetAlias to ((POSIX file atarget) as alias)
set targets to targets & targetAlias
end repeat
set theTarget to targets
tell application "Finder"
open theTarget using appPath
end tell
on error
return (atarget as string) & " is not a valid file or folder path."
end try
end if
end alfred_scriptこのset appName to "Visual Studio Code"のアプリケーション名を変えれば他のテキストエディタも開けるようになるので、複数使っているのであれば複製して用意しておくと、便利になりそうです。


日々のちょっとした作業を効率的にする小技 #1日1Tips – 2019年7月
Gmailでとりあえず最初にしておくと便利な設定
Fantastical 2で予定の登録時に使えるキーワードまとめ
Apple Watchでスクリーンショットを撮る方法
【2026年版】Karabiner-Elementsで実現する右commandキー活用のススメ
Karabiner-Elementsを使ってright_command + h/j/k/lで矢印の入力ができるようにする
Figma × Keyboard Maestroでどこまで効率化できる?
Alfred 4のカスタム検索を設定をしてサイト内検索をしたり、ブラウザのブックマーク検索を行う方法
AlfredのWorkflowをコードを書いて作成する方法
日々のやり取りを便利にしてくれるチャットサービス統合アプリの比較!Franz・Rambox・Station・Stack・Biscuit
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Google Chromeのブックマークを綺麗に整理するコツ
Homebrew Caskを使ってアプリケーションをコマンド一発でインストールできるようにする
Alfredの設定画面でショートカットキーが認識されない場合はKeyboard Maestroの設定を確認しよう
iPadの定番手書きノートアプリ「GoodNotes 5」の基本的な使い方とオススメの設定
Ulyssesで特定シートに移動するリンクの作成方法
【前編】Sync & Liveで取り回す Illustrator でのデータ作り!!CSS Nite in KOBE, Vol.26
Fantastical 2は音声入力を使って予定を追加するのが便利!
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
Vue CLI 3でfaviconの設定をする方法
RAWで撮影した写真を一括でJPGやPSD、TIFFに別名保存するPhotoshopのイメージプロセッサー