macOS Finder 右鍵教學:用 VS Code、Cursor、Zed 或其他編輯器開啟檔案
用 Automator 建立 Finder Quick Action,右鍵就可以將檔案或資料夾用 VS Code、Cursor、Zed、Sublime Text 等指定 App 開啟。
有時喺 Finder 搵到一個 project folder,想直接用 VS Code、Cursor 或其他編輯器打開, 但右鍵選單入面偏偏冇自己想要嗰個 App。
其實 macOS 內置嘅 Automator 已經可以做到。設定完成之後,只要喺 Finder 選取檔案或資料夾, 右鍵就會見到「Open in Visual Studio Code」之類嘅 Quick Action,唔需要另外安裝 Finder extension。
呢篇會先示範 VS Code,再講點樣將同一個方法改成 Cursor、Zed、Sublime Text、Xcode, 甚至任何安裝喺 Mac 入面嘅 App。
最後會做到甚麼?#
完成之後,喺 Finder:
- 選取一個或多個檔案、資料夾
- 按右鍵
- 選擇「Quick Actions(快速動作)」或「Services(服務)」
- 按「Open in Visual Studio Code」
所選項目就會交畀 VS Code 開啟。
建立「Open in Visual Studio Code」#
1. 建立 Quick Action#
- 用 Spotlight 搜尋並開啟 Automator
- 選擇「New Document(新增文件)」
- 選擇「Quick Action(快速動作)」,再按「Choose」
- 在 workflow 頂部設定:
- Workflow receives current:
files or folders - in:
Finder
- Workflow receives current:
如果你希望喺其他支援 Services 嘅 App 都見到呢個動作,第二項亦可以選 any application。
純粹想加到 Finder 右鍵選單,選 Finder 會最清晰。
Apple 亦有提醒,只有接收檔案作為輸入嘅 Quick Action,先會喺 Finder 視窗出現。
2. 加入 Run Shell Script#
在 Automator 左邊搜尋 Run Shell Script,再將佢拖到右邊 workflow。
設定:
- Shell:
/bin/zsh - Pass input:
as arguments
如果你用緊 macOS 10.15 Catalina 或之後版本,建議用 /bin/zsh。舊版 macOS
或者你本身有另一套 shell 設定,先按需要改用其他 shell。
3. 貼上通用 script#
刪除原本示例內容,再貼上:
APP_NAME="Visual Studio Code"
if [ "$#" -eq 0 ]; then
exit 0
fi
open -a "$APP_NAME" "$@"
當中:
APP_NAME係想用嘅 App 名稱open -a會指定由邊個 App 開啟"$@"代表 Automator 傳入嘅所有檔案同資料夾- 雙引號可以正確處理檔名或路徑入面嘅空格
4. 儲存 workflow#
按 Command + S,名稱輸入:
Open in Visual Studio Code
儲存後,workflow 一般會放喺:
~/Library/Services/Open in Visual Studio Code.workflow
而 Finder 右鍵選單亦應該會見到新動作。
改成 Cursor、Zed 或其他編輯器#
整個 workflow 唔需要重做邏輯,只要將 APP_NAME 換成目標 App 嘅名稱,再用另一個名稱儲存。
| 想開啟嘅 App | APP_NAME 寫法 | 建議 workflow 名稱 |
|---|---|---|
| Visual Studio Code | "Visual Studio Code" | Open in Visual Studio Code |
| Cursor | "Cursor" | Open in Cursor |
| Windsurf | "Windsurf" | Open in Windsurf |
| Zed | "Zed" | Open in Zed |
| Sublime Text | "Sublime Text" | Open in Sublime Text |
| Nova | "Nova" | Open in Nova |
| Xcode | "Xcode" | Open in Xcode |
| TextEdit | "TextEdit" | Open in TextEdit |
例如 Cursor 版本只需要:
APP_NAME="Cursor"
if [ "$#" -eq 0 ]; then
exit 0
fi
open -a "$APP_NAME" "$@"
你可以為每個常用編輯器各自建立一個 Quick Action。日後右鍵時,就可以按需要選擇 「Open in VS Code」、「Open in Cursor」或者「Open in Zed」。
亦可以先喺 Terminal 測試:
open -a "Visual Studio Code"
如果 App 可以正常打開,個名稱就正確。
設定全域鍵盤快捷鍵#
建立 Quick Action 之後,亦可以加一個 keyboard shortcut:
- 開啟 System Settings(系統設定)
- 進入 Keyboard
- 按 Keyboard Shortcuts
- 在左邊選擇 Services
- 展開 Files and Folders
- 找到「Open in Visual Studio Code」
- 雙擊右邊快捷鍵位置,再按想使用嘅組合鍵
舊版 macOS 會顯示為 System Preferences → Keyboard → Shortcuts → Services,功能相同。
建議避開 Finder 同其他 App 已經使用緊嘅快捷鍵,否則按鍵時可能會執行原本功能, 或者完全冇反應。
Quick Action 冇出現,可以點做?#
確認 Finder extension 已開啟#
在較新版本 macOS:
- 開啟 System Settings
- 進入 Privacy & Security
- 選擇 Extensions
- 進入 Finder
- 開啟你建立嘅 Quick Action
之後返去 Finder,再揀檔案或資料夾試一次。
確認 workflow 輸入設定#
返回 Automator,檢查:
- 輸入係
files or folders - App 係
Finder或any application - Run Shell Script 嘅 Pass input 係
as arguments
如果誤選咗 to stdin,"$@" 就收唔到 Finder 傳入嘅檔案路徑。
確認 App 名稱完全正確#
如果執行後出現「Unable to find application」之類錯誤,通常係 APP_NAME 同實際 .app
名稱唔一致。例如 VS Code 要寫:
APP_NAME="Visual Studio Code"
而唔係:
APP_NAME="VS Code"
有啲 App 唔接受資料夾#
open 可以傳入檔案同資料夾,但最後點樣處理,仍然由目標 App 決定。程式碼編輯器一般會將資料夾
當成 workspace 或 project 開啟;普通文字編輯器就可能只適合開檔案。
編輯、改名或刪除 Quick Action#
Automator workflow 通常儲存喺:
~/Library/Services/
想修改時,可以:
- 在 Finder 按
Command + Shift + G - 輸入
~/Library/Services/ - 找到對應嘅
.workflow - 雙擊,或者右鍵選擇 Open With → Automator
- 修改後儲存
想改顯示名稱,可以在 Finder 直接重新命名個 .workflow。想移除,就將對應 workflow
移到垃圾桶;唔需要刪除其他 Services。
總結#
整個做法最重要係兩個設定:
Pass input: as arguments
以及:
open -a "$APP_NAME" "$@"
APP_NAME 換成安裝喺 Mac 入面嘅 App 名稱,就可以將同一套做法套用到 VS Code、Cursor、
Windsurf、Zed、Sublime Text、Xcode 或其他編輯器。
如果只係想用 Finder 右鍵將所選項目交畀指定 App,通用版本已經足夠;只有需要強制開新 instance
或者使用某個 App 專屬參數時,先考慮 -n、bundle identifier 同 --args。
參考資料#
覺得有用?
支持作者
如果這篇文章幫到你,或者為你省下一點摸索時間,歡迎請Jacky Wong飲杯咖啡,支持繼續整理及分享更多實用內容。多謝你讀到這裡。
