从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 属性请问这是怎么个情况 推荐阅读:
从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.
%USERPROFILE%AppDataLocal erminal
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的美化全攻略
先来一波福利:
更多 .NET最新技术资讯和工程实践,尽在我们的知乎专栏 dotNET学堂 和 公|号「大白技术控」,欢·迎关·注~
经过大家的帮助,我终于成功地实现了想要的功能,这里我把我自己碰到的问题的解决方法来和大家分享一下。
首先最基本的功能是添加一个右键菜单中的项目,将如下的文件保存,并更改为reg后缀,然后添加到注册表:
[HKEY_CLASSES_ROOTDirectoryBackgroundshellwt] @="Windows terminal here"
[HKEY_CLASSES_ROOTDirectoryBackgroundshellwtcommand] @="C:\Users\your_username\AppData\Local\Microsoft\WindowsApps\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 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%" 这一项。
0.5.2762.0
profile.json
"startingDirectory": "%USERPROFILE%"
这是新版本配置文件的使用方法导致的。
profils.json最上面有句话:
profils.json
// To view the default settings, hold "alt" while clicking on the "Settings" button
在terminal菜单栏按住alt点击settings可以查看默认配置。在默认配置default.json里可以发现存在 "startingDirectory": "%USERPROFILE%" 这句话,但默认配置是自动生成的不能修改。
default.json
新版的配置文件将默认的设置写在default.json 中,用户自定义的配置写在profils.json中,这样可以防止用户改乱配置导致无法运行。
所以,按其他回答操作完之后,在profils.json里添加 "startingDirectory" : null 就可以了。
"startingDirectory" : null
我还没用,懒得去编译,等正式版。
听说这货要一统三界,不知道行不行
我的不管在哪打开
路径一直是用户目录
而且配置文件中是没有 startingDirectory 属性
请问这是怎么个情况