我想向查找程序上下文菜單添加一個選項,該選項調用hg add %1
,其中%1是查找程序中選定文件的完整路徑。
當然,還有更多有用的案例可以考慮添加到上下文菜單中。
有沒有簡單的方法來做到這一點,不涉及以編譯語言安裝任何第三方軟件或編碼和構建二進制插件?
就像使用腳本編輯器創建腳本並將其放入/Library/Contextual Menu Items/
?將腳本添加到MacOS查找程序上下文菜單
回答
是的,我知道這是第三方軟件 - 但爲了更全面的概述 - http://www.abracode.com/free/cmworkshop/on_my_command.html。另一個可以使腳本編寫更容易的工具是http://wafflesoftware.net/thisservice/將項目添加到服務菜單。
打開Automator,創建一個自定義工作流程。從Library
選擇Utilites
,然後將Run shell script
拖放到工作流程。將Pass input
設置爲As arguments
。寫入您的腳本:hg add $1
。然後File menu->Save as a Plugin
,指定名稱,選擇plugin for Finder
,Save
。右鍵點擊文件,選擇More->Autamator-><PLUGIN_NAME>
。
哇,很好的解釋。雖然我找不到如何保存爲插件,但我唯一的選擇是工作流程或應用程序。我正在運行OS 10.6.4 – Petruza 2010-11-18 14:34:32
Automator中的'File'菜單中沒有'Save as a Plugin ...'項目?我正在運行豹,它在那裏......我相信即使它沒有「另存爲插件」,也應該有相同的東西。 – khachik 2010-11-18 14:38:03
好吧,我發現現在在10.6中稱爲服務,但它是一樣的。我設法創建它,工作正常,謝謝!現在問題是我需要'cd'到%1文件的路徑,你介意告訴我如何得到這個?謝謝! – Petruza 2010-11-18 15:10:22
從@ khachik的正確答案開始,Snow Leopard/10.6 +的步驟已經發生了變化。爲了確保其清晰的,這裏的步驟:
- 開放的Automator
- 創建一個新的
Service
- 在頂部設置前兩個下拉菜單,以「服務接收選擇在
Finder.app
files or folders
」 - 設置傳遞輸入爲
as arguments
- 編寫您的腳本(請參閱下面的說明)。
- 保存並選擇服務名稱
你的Automator窗口看起來應該像這樣: :
您現在可以選擇在Finder中的多個文件,然後從服務子菜單中執行您服務。
對於您的腳本,我認爲您需要以下內容。這將更改爲每個參數的目錄然後添加它。我正在使用for循環,因爲Finder允許您選擇不同文件夾中的多個文件(可能位於不同的存儲庫中)。
for f in "[email protected]"
do
cd $(dirname $f); hg add $f
done
如果你認爲他們都在,你能做到這一點同一個資源庫:
cd $(dirname $1); hg add [email protected]
Automator在一個環境中運行腳本,該環境設置/ etc/paths中定義的路徑(也許還有別的東西),但它不會調用你的〜/ .bash_profile --->所以如果你有一些路徑定義需要從Automator腳本中找到要執行的腳本/程序,您必須使用完整路徑或將「source〜/ .bash_profile」(不帶引號)添加爲腳本的第一行 – georg 2012-12-19 21:21:25
- 1. 將批處理腳本添加到Windows 8上下文菜單
- 2. 將上下文菜單添加到UIImageView
- 3. 將Java程序添加到Ubuntu上下文菜單
- 4. 將菜單項添加到上下文菜單
- 5. 將菜單項添加到上下文菜單在VS2008 DSL
- 6. 將菜單項添加到默認的上下文菜單
- 7. 將自定義菜單項添加到Finder上下文菜單
- 8. 如何將上下文菜單添加到Finder以運行shell腳本
- 9. 將項目添加到Eclipse文本查看器上下文菜單
- 10. 添加菜單上下文菜單
- 11. 將hoverIntent添加到jquery下拉菜單腳本
- 12. 將子菜單添加到上下文菜單條的特定菜單項
- 13. 將項目添加到上下文菜單並將突出顯示的文本發送到MacOS上的其他應用程序
- 14. 將程序的特定功能添加到Windows上下文菜單
- 15. 只將上下文菜單添加到Expander頭文件
- 16. 添加描述性菜單項到WPF上下文菜單
- 17. 添加上下文菜單.config文件
- 18. 將多個上下文根添加到單個應用程序
- 19. 將圖標添加到引導程序下拉菜單項
- 20. 將圖像添加到引導程序下拉菜單
- 21. 如何將glyphicon添加到引導程序下拉菜單
- 22. 如何將標準文本框命令添加到jqgrid上下文菜單
- 23. 如何將上下文菜單添加到按鈕?
- 24. 將項目添加到上下文菜單
- 25. 如何將上下文菜單項添加到工具欄?
- 26. 將項目添加到Visual Studio上下文菜單
- 27. 如何將上下文菜單添加到ListBoxItem?
- 28. 如何將條件添加到WPF上下文菜單?
- 29. 如何將動態項目添加到上下文菜單?
- 30. 將上下文菜單添加到DevExpress MVC擴展樹視圖
嗯......開放的Automator,創建一個自定義工作流。從'Library'選擇'Utilites',然後將'Run shell script'拖放到工作流程中。設置'傳入輸入'爲'作爲參數'。寫入你的腳本:'hg add $ 1'。然後在文件菜單 - >保存一個插件,指定名稱,爲Finder選擇插件,保存。右鍵單擊該文件,選擇更多 - > Autamator->並享受。但是這裏沒有關於編程的任何內容...... –
khachik
2010-11-18 13:50:52
@khachik:它仍然是與開發相關的。你應該讓你的評論成爲答案。 – 2010-11-18 14:15:56
@菲利普好的,這實際上是一個答案... – khachik 2010-11-18 14:22:38