新發布的Windows Terminal如何添加到右鍵菜單? 從5月8號(微軟2019build大會期間)開始玩,到現在已經過去一個多月了。體驗真的很棒,預覽版已經可以從Windows Store下載到~一直都相信,覺得有所幫助的知友都會隨手支持一波~首先,你得能運行Windows terminal,目前暫無正式版,故只能安裝預編譯版,或自行編譯,推薦前一種,我下面的步驟也是針對前一種的,下列步驟在將來出Windows terminal正式版後也會同樣適用。Step 0: 測試後續要用的兩個常量是否正常echo %USERPROFILE% echo %LOCALAPPDATA% 如果此處沒有報錯,則後續可直接使用這兩個常量. 否則請手動在後文中進行如下替換:%USERPROFILE% → C:Users[userName] %LOCALAPPDATA% → C:Users[userName]AppDataLocal 這裡的 [userName] 請換為自己的用戶名,比如我的是Bruce。 Step 1:在命令行中執行如下命令:mkdir "%USERPROFILE%AppDataLocal erminal" Step 2: 將windows terminal圖標複製到目錄 %USERPROFILE%AppDataLocal erminal, 該圖標在我的github repo中可以獲得 icons - yanglr, 就是裡面的文件 wt_32.ico.Step 3:將如下內容另存為wt.reg, 然後以"管理員許可權"運行Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTDirectoryBackgroundshellwt] @="Windows terminal here" "Icon"="%USERPROFILE%\AppData\Local\terminal\wt_32.ico" [HKEY_CLASSES_ROOTDirectoryBackgroundshellwtcommand] @="C:\Users\[your_user_name]\AppData\Local\Microsoft\WindowsApps\wt.exe" 對於 wt.exe 的路徑,需使用完整路徑,形如 C:\Users\[your_user_name]\AppData\Local\Microsoft\WindowsApps\wt.exe 比如,我的是:"C:\Users\Bruce\AppData\Local\Microsoft\WindowsApps\wt.exe"Step 4: 檢查配置文件中是否有 startingDirectory 屬性檢查settings對應的profile.json中是否有 startingDirectory 屬性的設置,如果有,則需要將其刪除 。這裡要說明一下,如果是自己build後得到的exe是 wtd.exe,需要將上面的 wt.exe 改為 wtd.exe ~Step 5: 測試: 進入任意一個文件夾,在沒有選擇任何內容時,按Shift鍵 + 滑鼠右鍵,會出現下面的界面: 如果還存在問題,請仔細核對前面方法中的細節,祝順利~有問題歡迎在留言區討論...本文原創首發於:Windows terminal - issue #1060 (comment by Bravo Yeung)其他相關文章,我已經寫進了知乎專欄 dotNET學堂:黑科技搶先嘗 - Windows 全新終端初體驗(附無需編譯就能安裝的Preview版本及代碼Build全過程)黑科技搶先嘗(續) - Windows terminal中WSL Linux 終端的極簡美化指南 黑科技搶先嘗(續2) - Windows terminal中Powershell Tab的美化全攻略先來一波福利:Yeung Bravo:知乎上贊同數最高的666個回答 - 2019上半年版?zhuanlan.zhihu.com 更多 .NET最新技術資訊和工程實踐,盡在我們的知乎專欄 dotNET學堂 和 公|號「大白技術控」,歡·迎關·注~ 經過大家的幫助,我終於成功地實現了想要的功能,這裡我把我自己碰到的問題的解決方法來和大家分享一下。首先最基本的功能是添加一個右鍵菜單中的項目,將如下的文件保存,並更改為reg後綴,然後添加到註冊表:Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTDirectoryBackgroundshellwt] @="Windows terminal here" [HKEY_CLASSES_ROOTDirectoryBackgroundshellwtcommand] @="C:\Users\your_username\AppData\Local\Microsoft\WindowsApps\wtd.exe" 這中間有幾點需要注意的: 根據 @Yeung Bravo 的回答,使用%LOCALAPPDATA%來代替直到Microsoft文件夾前面的位置是可行的。但是我同該回答下評論區中的 @wrvsrx 一樣,只有使用絕對路徑,才能夠正常的打開,不然會報錯。注意,將your_username更改為你實際的用戶名。 根據 @vczh 的評論,release和debug模式部署之後的可執行文件名是不同的。release模式是wt.exe,debug模式是wtd.exe。但我的實際情況是,我使用release模式編譯部署得到的可執行文件仍然是wtd.exe。在之前那個回答的評論區中 @matrixes 提到新編譯出來的都變成了wtd.exe,因此我認為可能是版本差異吧。根據實際情況,可以去確定自己的電腦上到底是wt.exe還是wtd.exe。然後將第二條中的文件名更改成對應的文件名。 然後如果想要為該項目添加一個圖標的話,可以按照 @Yeung Bravo 的回答中,為第一個項新添一個名為Icon的值,像這樣:[HKEY_CLASSES_ROOTDirectoryBackgroundshellwt] @="Windows terminal here" "Icon"="path_to_the_icon.ico" 圖標可以從他給出的鏈接中得到,也可以自己在工程目錄中搜索.png,找到png圖片再在網路上轉為ico格式。放置的位置也沒有什麼限制。對應地更改"Icon"的值就好。最後如果希望按住Shift才顯示這個菜單項的話,按照 @wrvsrx 的評論中,為第一項添新添加一個名為Extended的值,像這樣:[HKEY_CLASSES_ROOTDirectoryBackgroundshellwt] @="Windows terminal here" "Icon"="path_to_the_icon.ico" "Extended"="" 最後完整的文件像這樣: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOTDirectoryBackgroundshellwt] @="Windows terminal here" "Icon"="path_to_the_icon.ico" "Extended"="" [HKEY_CLASSES_ROOTDirectoryBackgroundshellwtcommand] @="C:\Users\your_username\AppData\Local\Microsoft\WindowsApps\wtd.exe" 但是這之後我還有一個小問題,就是我從右鍵打開的Windows Terminal仍然不能再當前目錄打開,仍是從我的%USERPROFILE%文件夾下打開的。我想到我是配置了Windows Terminal的打開路徑的。這在不能右鍵打開時是有用的,要不然就會從System32這個文件夾打開,這就很傻。但是當我可以從右鍵打開的時候,這就沒用了。如果你按照某些教程,配置了{ "profiles": [ { "startingDirectory": "%USERPROFILE%" } ] } 的話,刪掉這一項就可以從右擊的文件夾中打開了。 2019年10月25日更新現在startingDirectory又重新需要了,但不能配置為"%USERPROFILE%",應當配置為"startingDirectory" : "." Terminal的圖標有人問怎麼找,其實很簡單,你到github主頁搜terminal.ico就行了 其實跟cmd和powershell一樣,在地址欄里輸入wt就可以在當前目錄打開Windows Terminal了。 和@黃青林 一樣,我也遇到了同樣的問題。從Windows Store中安裝的0.5.2762.0版本的Terminal,如果直接按其他回答的方法去做,會發現在什麼目錄右鍵打開,都會跑到用戶目錄下。點擊Settings打開的profile.json中也看不到 "startingDirectory": "%USERPROFILE%" 這一項。這是新版本配置文件的使用方法導致的。profils.json最上面有句話: // To view the default settings, hold "alt" while clicking on the "Settings" button 在terminal菜單欄按住alt點擊settings可以查看默認配置。在默認配置default.json里可以發現存在 "startingDirectory": "%USERPROFILE%" 這句話,但默認配置是自動生成的不能修改。新版的配置文件將默認的設置寫在default.json 中,用戶自定義的配置寫在profils.json中,這樣可以防止用戶改亂配置導致無法運行。所以,按其他回答操作完之後,在profils.json里添加 "startingDirectory" : null 就可以了。 我還沒用,懶得去編譯,等正式版。聽說這貨要一統三界,不知道行不行 我的不管在哪打開路徑一直是用戶目錄而且配置文件中是沒有 startingDirectory 屬性請問這是怎麼個情況 推薦閱讀: 相关文章 {{#data}} {{title}} {{/data}}