命令行语法

wt 命令行接受两种类型的值:“选项”和“命令” 。 “选项”是一系列标志和其他参数,可以将 wt 命令行的行为作为一个整体来控制。 “命令”提供应该实现的操作或操作列表(以分号分隔)。 如果未指定命令,则默认情况下会将命令指定为 new-tab

wt [options] [command ; ]

wt.exe 命令的行为可能会受到 windowingBehavior 属性的影响。 此设置可调整为打开新窗口或打开新标签页之间的默认设置。

若要显示列出可用命令行参数的帮助消息,请输入:wt -hwt --helpwt -?wt /?

选项和命令

下面是 wt 命令行支持的命令和选项的完整列表。

如果不存在具有给定 window-id 的窗口,则将使用该 ID/名称创建新窗口。

例如,运行 wt -w _quake 将打开一个新的“quake 窗口”。 再次运行该命令将在现有 quake 窗口中打开一个新选项卡。

New tab 命令

用于创建新选项卡。另请参阅 newTab 操作

new-tabnt --colorScheme scheme-name 覆盖配置文件的 colorScheme 设置,并将其设置为名称为 scheme-name 的设置中的方案 设置中配色方案的名称

如果在 Windows 终端中更改选项卡的标题并希望该标题保持不变,则必须通过将其设置为 true 来启用 suppressApplicationTitle 选项。

Split-pane 命令

用于创建新的拆分窗格。 另请参阅 splitPane 操作

split-panesp --startingDirectory, -d starting-directory 根据分配的起始目录路径创建一个新的拆分窗口窗格。 如果未分配此参数,则将使用默认起始目录。 split-panesp --title 创建一个带有已分配标题的新拆分窗口窗格。 用作选项卡标题的文本 split-panesp --tabColor 创建一个已分配选项卡颜色的新拆分窗口窗格。 十六进制颜色为 #RGB 或 #RRGGBB split-panesp --size, -s size 创建一个已分配大小的新拆分窗口窗格。 浮点数,指定用小数表示的父窗格部分。 例如,.4 表示父窗格的 40%。 split-panesp commandline 根据分配的命令行创建一个新的拆分窗口窗格。 包含可选命令的可执行文件 split-panesp --duplicate, -D 创建一个新的拆分窗口窗格,该窗格是当前窗格的副本。 不适用。 没有其他值要分配。 split-panesp --suppressApplicationTitle 重写配置文件的 suppressApplicationTilte 设置,并将其设置为 true split-panesp --useApplicationTitle 重写配置文件的 suppressApplicationTilte 设置,并将其设置为 false split-panesp --colorScheme scheme-name 覆盖配置文件的 colorScheme 设置,并将其设置为名称为 scheme-name 的设置中的方案 设置中配色方案的名称

Focus-tab 命令

用于聚焦窗口中的特定选项卡。 另请参阅 switchToTab 操作

  • first 将焦点移动到树中的第一个叶窗格。
  • previous 将焦点移动到当前窗格之前最近使用的窗格。
  • nextInOrderpreviousInOrder 按创建顺序将焦点移动到下一个或上一个窗格。
  • Move-pane 命令

    用于在窗口中移动窗格。 另请参阅 movePane 操作

  • updownleftright:将活动窗格与给定方向的窗格交换。
  • first:将活动窗格与树中的第一个叶窗格交换。
  • previous:将活动窗格与当前窗格之前最近使用的窗格交换。
  • nextInOrderpreviousInOrder:按创建顺序将活动窗格与下一个或上一个窗格交换。
  • 命令行参数示例

    命令可能会略有不同,具体取决于所使用的命令行。

    将参数传递给默认 shell

    要启动 Windows 终端实例并让其执行命令,请调用 wt.exe,然后再调用你的命令。

    以下是调用 Windows 终端以传递 ping 命令参数以回显 IP 地址的示例:

    wt ping learn.microsoft.com
    

    以下是调用 Windows 终端以使用 PowerShell 命令行打开新选项卡、确认调用 Start-Service 命令并使用 /k 目录中打开的 Windows 命令提示符打开另一个新选项卡的示例:

    wt new-tab PowerShell -c Start-Service ; new-tab cmd /k dir
    

    面向特定窗口

    下面是如何使用 --window,-w 选项面向特定窗口的示例。

    wt -w -1 nt // Open a new tab in the first-created terminal window with the default profile wt -w 1 nt // Open a new tab in the terminal window named foo with the default profile. If foo does not exist, create a new window named foo. wt -w foo nt wt -w -1 nt // Open a new tab in the first-created terminal window with the default profile wt -w 1 nt // Open a new tab in the terminal window named foo with the default profile. If foo does not exist then, create a new window named foo. wt -w foo nt
    // Open a new tab with the default profile in the current window
    cmd.exe /c "wt.exe" -w 0 nt
    // Open a new tab in a new window with the default profile
    cmd.exe /c "wt.exe" -w -1 nt
    // Open a new tab in the first-created terminal window with the default profile
    cmd.exe /c "wt.exe" -w 1 nt
    // Open a new tab in the terminal window named foo with the default profile. If foo does not exist then, create a new window named foo.
    cmd.exe /c "wt.exe" -w foo nt
    

    执行别名不适用于 WSL 分发。 如果要从 WSL 命令行使用 wt.exe,可以运行 cmd.exe 直接从 CMD 生成它。 /c 选项指示 CMD 在运行后终止。

    打开新的配置文件实例

    若要打开新的终端实例(在此示例中,该命令将打开名为“Ubuntu-18.04”的配置文件),请输入:

    -p 标志用于指定应打开的 Windows 终端配置文件。 将“Ubuntu-18.04”替换为已安装的任何终端配置文件的名称。 这将始终打开一个新窗口。 Windows 终端尚不能在现有实例中打开新选项卡或窗格。

    以一个目录为目标

    若要指定应该用作控制台起始目录的文件夹(在本例中为 d:\目录),请输入:

    cmd.exe /c "wt.exe" -p "Command Prompt" \; split-pane -p "Windows PowerShell" \; split-pane -H wsl.exe
    

    执行别名不适用于 WSL 分发。 如果要从 WSL 命令行使用 wt.exe,可以运行 cmd.exe 直接从 CMD 生成它。 /c 选项指示 CMD 在运行后终止,且 \; 反斜杠 + 分号将命令分隔开来。

    -H 标志(或 --horizontal)指示你希望水平拆分窗格。 -V 标志(或 --vertical)指示你希望垂直拆分窗格。

    多个选项卡和窗格

    可以对 new-tabsplit-pane 命令进行排序,以获取多个选项卡,每个选项卡都具有拆分窗格。 若要打开带有两个选项卡的新终端实例,每个选项卡都有两个运行命令提示符和 WSL 命令行的窗格,每个选项卡位于不同的目录中,请输入:

    wt -p "Command Prompt" `; split-pane -V wsl.exe `; new-tab -d c:\ `; split-pane -H -d c:\ wsl.exe
    

    PowerShell 使用分号,用于分隔语句。 若要将分号 ; 解释为 wt 命令行参数的命令分隔符,则需要使用反引号转义分号字符。 PowerShell 还具有停止分析运算符 (--%),这指示它停止解释它之后的任何内容,并只逐字传递。

    cmd.exe /c "wt.exe" -p "Command Prompt" \; split-pane -V wsl.exe \; new-tab -d c:\\ \; split-pane -H -d c:\\ wsl.exe
    

    执行别名不适用于 WSL 分发。 如果要从 WSL 命令行使用 wt.exe,可以运行 cmd.exe 直接从 CMD 生成它。 /c 选项指示 CMD 在运行后终止,且 \; 反斜杠 + 分号将命令分隔开来。 请注意将 Windows 目录指定为 wsl.exe 的起始目录,需要两个反斜杠 \\

    若要为每个终端窗格打开带有自定义标题的新终端实例,可使用 --title 参数。 若要在打开多个选项卡时设置每个窗格的标题,请输入:

    当为选项卡设置 --tabColor 时,它与此选项卡的第一个窗格相关联。因此,在具有多个窗格的选项卡中,仅当第一个窗格处于焦点时才会应用颜色。 若要设置其他窗格的选项卡颜色,还需要将 --tabColor 参数添加到 split-pane 子命令。 在下面的示例中,创建了一个带有两个窗格的选项卡,并为每个窗格指定了选项卡颜色:

    wt new-tab --tabColor '#009999' `; split-pane --tabColor '#f59218'
    

    若要打开具有特定配色方案(而不是配置文件中设置的 colorScheme)的新终端实例,请使用 --colorScheme 参数。 此参数会覆盖配置文件中定义的值。

    PowerShell 中多个命令的示例

    Windows 终端使用分号字符 ; 作为分隔符来分隔 wt 命令行中的命令。 遗憾的是,PowerShell 也使用 ; 作为命令分隔符。 若要解决此问题,可以使用以下技巧从 PowerShell 运行多个 wt 命令。 在下面的所有示例中,将创建一个新的终端窗口,其中包含三个窗格:一个运行命令提示符,一个运行 PowerShell,最后一个运行 WSL。

    下面的示例不使用 start 运行命令行。 但是,可以通过另外两种方法来对命令行转义:

  • 仅对分号进行转义,使 PowerShell 忽略它们,并将它们直接传递到 wt
  • 使用 --%,因此 PowerShell 会将命令行的其余部分视为应用程序的参数。
  • wt new-tab "cmd" `; split-pane -p "Windows PowerShell" `; split-pane -H wsl.exe
    
    wt --% new-tab cmd ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe
    

    在这两个示例中,新创建的 Windows 终端窗口将通过正确分析所有提供的命令行参数来创建窗口。

    但是目前不建议使用这些方法,因为 PowerShell 会等待新创建的终端窗口关闭,然后再将控制权返回给 PowerShell。 默认情况下,在返回到提示符之前,PowerShell 将始终等待 Windows 应用商店应用程序(如 Windows 终端)关闭。 请注意,这与命令提示符的行为不同,后者会立即返回到提示符。

    将 Windows 终端可执行文件添加到路径

    要将 Windows 终端可执行文件 (wt.exe) 添加到路径,请在 Windows 设置的“管理应用执行别名”页中启用“应用执行别名”。 Windows 终端别名默认处于打开状态,但如果你在访问别名时遇到问题,则可能需要确认一下。

    如果在访问应用执行别名时仍然遇到问题,则可能需要检查路径是否包含:%LOCALAPPDATA%\Microsoft\WindowsApps。 请勿尝试更改 C:\Program Files\WindowsApps