目前我可以通过在资源管理器的地址栏中输入cmd
或powershell
来打开当前文件夹中的 cmd 和 powershell(通过 CTRL+D 打开,所以它非常简洁快捷)。
如果新的 Windows 终端也能做到这一点,那就太好了。 但由于它是 Windows 应用商店应用,我找不到将它添加到 PATH 的简单方法。 打开时它也不尊重当前文件夹。 它始终从默认文件夹开始( C:\WINDOWS\system32
用于 cmd, ~
用于 Ubuntu)。
如果这是可能的,那就太好了:
如果它可以用一个简短的命令打开也很好。
可执行文件当前称为WindowsTerminal
。 如果我们可以简单地输入类似term
东西就好
如果你使用wt.exe
会发生什么?
别名应该已经启动了 WindowsTerminal,但我不确定它是否在您指定的路径中启动
@joandrsn这很棒,我不知道。 谢谢。
@joandrsn谢谢! 它甚至会在当前目录中启动!
如何将目录路径传递给 wt.exe。 像这样的东西:
wt.exe "C:\GitHub"
已尝试但始终在 CMD 和 PowerShell 的默认文件夹中打开。
我可以使用ubuntu run
在当前文件夹中打开 WSL Ubuntu shell。 但wt
总是在默认文件夹中打开
从您的profiles.json 中删除startingDirectory
。
你好@DHowett-MSFT,
有没有办法让Windows Terminal
在与当前标签相同的文件夹中打开新标签? 我想要与Mac OS X
上存在的行为相同的行为: https :
提前致谢!
从您的profiles.json 中删除
startingDirectory
。
@DHowett-MSFT,这在最新版本 0.5.2661.0 中不起作用:(
从您的profiles.json 中删除
startingDirectory
。
对我来说,它也不起作用:(
从 v0.5 开始,这实际上不再起作用。 您需要设置"startingDirectory": null
才能使其实际工作。 该修复在 #2515 中无意中倒退。
我还想在当前目录中打开新标签
从 v0.5 开始,这实际上不再起作用。 您需要设置
"startingDirectory": null
才能使其实际工作。 该修复在 #2515 中无意中倒退。
@zadjii-msft ,这在 v0.5.2681.0 中不起作用
从 v0.5 开始,这实际上不再起作用。 您需要设置
"startingDirectory": null
才能使其实际工作。 该修复在 #2515 中无意中倒退。
也不适用于 0.5.2762.0..
我试过删除值,设置为空..两者都没有改变任何东西..
需要明确的是,_removing startingDirectory
而不是将其设置为null
_ 不是一个即将回归的功能; 我们正在寻找关于何时准确应用startingDirectory的替代方法,但该设置总是能够通过将其设置为null来抑制。
从 v0.5 开始,这实际上不再起作用。 您需要设置
"startingDirectory": null
才能使其实际工作。 该修复在 #2515 中无意中倒退。也不适用于 0.5.2762.0..
我试过删除值,设置为空..两者都没有改变任何东西..
"startingDirectory": null
对我有用 - 它需要放在特定的配置文件下,而不是作为根级元素
@DHowett-MSFT 在我看来,在配置文件 ( startingDirectory
) 中设置可以通过传入命令行参数来覆盖的方法通常很常见。 也许我在这里没有遇到问题:)
如果我还记得上个月的谈话,那是:
通过从您的用户配置文件中删除它来清除“startingDirectory”设置(在两个或三个默认提供的配置文件的特定情况下),而不是将其设置为null
来清除它,这不是一个功能回来。
这似乎符合我对你对这次谈话的理解。 :微笑:
对我来说,设置 "startingDirectory": "." 做这份工作。
如果从 Windows 资源管理器启动,终端默认打开为"%USERPROFILE%"
但null
是否还有另一个问题?
@carlinmack我认为这完全没有必要。
"startingDirectory": "."
它们仍会在用户的主文件夹 ( %USERPROFILE%
) 中打开。"startingDirectory": "."
将确保 Windows 终端在您所在的目录中打开。如果您通过“开始”菜单快捷方式或通过在 Win+R 中键入“wt”启动 Windows 终端,则它默认为用户的主目录。 这意味着如果你使用 "startingDirectory": "." 它们仍然在用户的主文件夹 (%USERPROFILE%) 中打开。
在这种情况下,它默认为 system32。
在我的情况下,这有效。
"profiles":
{
"defaults":
{
"startingDirectory": "."
},
"startingDirectory": "."
有效,但是当我从搜索中打开终端时,它默认为 system32。
没有指定路径时,有没有办法在用户目录中打开?
"startingDirectory": "."
有效,但是当我从搜索中打开终端时,它默认为 system32。
没有指定路径时,有没有办法在用户目录中打开?
我有同样的问题。 我通过在 .bashrc 文件末尾添加以下行来修复它。
export CURR_DIRECTORY=`pwd`
if [ "$CURR_DIRECTORY" = "/mnt/c/WINDOWS/system32" ]; then
cd ~
fi
@manishprivet 的解决方案很棒,除了为了正常工作,我将system32
更改System32
。 运行pwd
并复制输出是个好主意。
我通过添加“在此处打开终端”以右键单击找到了一种解决方法。
第1步:-
从所有配置文件的 settings.json 中删除起始目录。
第2步:-
根据这篇文章添加打开的终端以右键单击。
https://github.com/microsoft/terminal/issues/1060#issuecomment -497539461
我将第二个注册表值从@="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"
更改@="C:\Users\[your username]\AppData\Local\Microsoft\WindowsApps\wt.exe -d ."
修改后的行为:
因此,每当我使用搜索/任务栏/快捷方式打开终端时,它都会在我的用户文件夹中打开。
每当我想使用资源管理器打开终端时,我只需右键单击并选择Windows terminal here
选项。
注意 1:不要忘记在第二个注册表值的末尾添加-d .
,否则,这将不起作用。
注 2:在资源管理器栏中输入wt
仍会在 system32 中打开终端。 如果您想使用“资源管理器栏”在当前文件夹中打开终端,您仍然应该输入wt -d .
。
只需添加
"startingDirectory": null
它适用于wt V1.0。
如果您更喜欢在SHIFT-Menu 中显示 wt,就像“在此处打开 PowerShell 窗口”或打开 WSL 选项一样,您可以将此注册表文件合并到您的注册表中。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal here"
"ShowBasedOnVelocityId"=dword:00639bc8
"Extended"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\[YourUserName]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"
请注意startingDirectory
参数应该放在 JSON 结构中的这个位置:
{
//...
"profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles.
// Attempt to start in current directory
// https://github.com/microsoft/terminal/issues/620
"startingDirectory": "."
}
}
}
我还没有看到可以执行以下操作的解决方案:
这可能吗?
根据我的调查,这在技术上是不可能的。
如果您想让两者都工作,则需要在资源管理器地址栏中使用wt -d .
。 这将使从开始菜单启动终端和运行框的工作方式与以前相同,并且仍然让您在资源管理器的 CWD 中打开终端
从我最初的探索这里是我发现的基于https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows
方法一:
wt -d D:\SomeDirectory
这将使用该目录打开 settings.json 中存在的默认 shell
PS 默认根据shell的操作系统选择路径
方法二:
wt -d .
@AndeYashwanth效果很好,谢谢。 现在我可以从任务栏在我的用户目录中打开它,只有当我右键单击时才在当前目录中打开它😎
感谢@29kartik方法 1 对我wt -d %d
的自定义终端命令,以便现在它的终端快捷方式在当前 repo 的目录中启动 WT。 💯
我已将其添加到此特定文件夹中打开
"startingDirectory": "C:\\webdev"
这是我通过上下文菜单快捷方式对其的看法: https :
@尼克拉斐尔:
我还没有看到可以执行以下操作的解决方案:
- 当我从开始菜单打开终端时,允许我选择一个默认目录。
- 从资源管理器窗口运行 wt.exe 将打开终端到该目录。
在settings.json
有这个:
{
"profiles": {
"defaults": {
"startingDirectory": "."
}
}
}
从资源管理器位置框、 win + r或其他程序(VS Code 等)启动时,使 Windows 终端在我的当前目录中启动。 但是,当从“开始”菜单开始时,无论是通过搜索还是导航到快捷方式,它都以C:\WINDOWS\system32
开头。
为了解决“开始”菜单问题,我将wt.exe
的快捷方式固定到“开始”菜单( where wt
告诉其位置),根据我的喜好重命名该快捷方式,然后将其修改为:
Start in: %USERPROFILE%
现在,当从“开始”菜单启动时,Windows 终端会在我的主目录中启动。
如果 Windows 终端默认情况下不会更改其目录以使其更加透明,那就太好了。 没有很多其他程序可以做到这一点。
我还想知道wt.exe
的快捷方式是否可以由安装程序自动创建。
因此,上述答案都不适用于我的用例。 我想要做的是使用alt+shift+-
打开一个新选项卡并保留上一个文件夹。 我尝试在 JSON 的不同位置使用null
、 "."
和"%__CD__%"
作为"startingDirectory"
值。 我正在使用 Windows Terminal Preview 的1.4.2652.0
版本。
一个不错的解决方案是有一个新选项,如"keepCurrentDirectoryOnNewTab": true
或类似的东西。 另一种方式(Kitty 使用的)在指定目录时有一个名为current
的特殊值。
@frankitox您可能对#3158 等 20 个被该线程欺骗的问题感兴趣
关于为什么在 Windows 上很难或几乎不可能正确完成这一问题的讨论很多。
版本:1.3.2651.0
就我而言,它有效。
"profiles":
{
"defaults":
{
// Put settings here that you want to apply to all profiles.
"startingDirectory": "."
},
此外,您可以使用"startingDirectory": "%__CD__%"
我参加聚会可能很晚,但在 Windows 10 Pro 20H2 中,您只需在地址栏中输入wt
。
如何将目录路径传递给 wt.exe。 像这样的东西:
wt.exe "C:\GitHub"
不知道你有没有找到 -d 和 path
wt -d .
在 WSL2 中运行良好
最有用的评论
从 v0.5 开始,这实际上不再起作用。 您需要设置
"startingDirectory": null
才能使其实际工作。 该修复在 #2515 中无意中倒退。