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"のアプリケーション名を変えれば他のテキストエディタも開けるようになるので、複数使っているのであれば複製して用意しておくと、便利になりそうです。


拡張機能を使わずにサイト全体のスクリーンショットを撮影する方法
Drive File StreamでGoogle Driveをローカル容量を圧迫せずにファイルを閲覧する
ATOKの8カ国語クラウド翻訳変換を使って、英語の翻訳をすばやく行う方法
MacのMicrosoft Outlookでメールの署名設定をする方法
Apple Watchの余計な通知を来ないようにして快適にする方法
Keyboard MaestroでMacログイン時にアプリの遅延起動を行う
Sketchのプラグインを管理ツールを使わずに直接フォルダで管理する方法
Alfred 4のDefault Results(デフォルト検索結果)で設定できることまとめ
macOSで画面を拡大縮小するズーム機能の設定
Alfred 4のClipboard History機能で、前にコピーした内容をペーストする方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Orbital 2と修飾キーの同時押しで、別のショートカットキーを発火させる方法
FontExplorer X Proを使ってフォントの管理を行う
Keyboard Maestroの「Click at Found Image」で画像と一致する場所をクリックするマクロの作り方
ランチャーアプリのAlfred3が便利だったのでPowerPackを購入しました!!これで快適なランチャー生活を
AlfredでFigmaのチーム・プロジェクト・ファイルを素早くの検索ができる「Alfred Figma Workflow」
Keyboard Maestroで「Path Finderで選択したファイルを特定アプリで開く」プラグインを作成する方法
CSS Nite in Kobe, vol.41「最新ネット広告の打ち手を学ぶ1dayレッスン 〜レスポンシブ検索広告からAmazon広告、ストーリーまで」に参加してきました
テーブルタグ一式をすばやく・ラクに入力するためのスニペットサンプル
ウインドウを画面の上にドラッグしたときに、Mission Controlが起動するのを無効化する方法
キーボードショートカット以外の新しい選択肢、左手用インプットデバイス「Orbital 2」