欢迎光临散文网 会员登陆 & 注册

Windows Terminal 终极指南

2020-04-15 14:53 作者:JuvwxYZ  | 我要投稿

最好的Linux发行版是Windows 10。

上面这句话虽然只是玩笑,但随着微软接连发布 WSL (Windows Subsystem Linux) 和全新的 Windows Terminal,Windows 和 Linux 之间的界限已经开始变得模糊了。许多非Linux不可事情已经可以在Windows上实现,需要频繁在Linux和Windows之间切换的场景也不需要双系统或者虚拟机了。

本文旨在介绍 Windows Terminal 的配置方法,并与大家交流分享一些 Windows Terminal 的使用心得和技巧。

目前(2020年4月初)Windows Terminal 仍处于预览版阶段,版本号v0.10.781.0,Windows Terminal 的某些功能可能还不完善,或者在后续的更新中发生变化。

1、配置文件

下拉菜单

在标签栏的下拉菜单中可以找到 Settings 选项。目前的设置只能通过编辑 profiles.json 文件来更改,没有图形界面。单击 Settings 选项即可打开 profiles.json 文件。

Tips:按住 Alt 键再点击 Settings 选项可以打开一个 defaults.json 文件,里面存放的是 Windows Terminal 各种设置的默认值。需要注意的是,这些默认值目前是硬编码在代码中的,修改这个文件不会应用在程序中,这个文件只是给你看的。

配置文件的结构并不复杂,大体可以分为四个部分:

  • 全局设置 

    最外侧的是全局设置。包括窗口大小、默认启动配置、深色\浅色主题等。其实下面的三项也是全局设置的其中之一,但是很有必要将它们单独提出来讨论。

  • 启动环境配置 profiles

    启动不同 shell 环境时加载的配置列表,这个列表会显示在标签栏的下拉菜单中。如菜单中的 Windows PowerShell、cmd等,可以针对不同的 shell 环境配置不同的字体、背景、颜色等等。

  • 颜色主题 schemes

    自定义配色方案列表。

  • 按键绑定 keybindings

    自定义快捷键列表。

1.1、全局设置

下图是 defaults.json 中全局设置的默认值:

全局设置的默认值

alwaysShowTabs:显示标签栏。如果 alwaysShowTabs 和 showTabsInTitlebar 同时设置为 false,那么标签栏会被隐藏,此时可以通过按下 ctrl + T 键显示标签栏。

defaultProfile:默认启动的 shell 环境。通过GUID来指定启动环境配置中的某一项。默认是 PowerShell 的启动配置。

initialCols:启动时窗口的列数。默认值是120。

initialRows:启动时窗口的行数。默认值是30。

requestedTheme:深色\浅色主题。可以是"dark"深色、"light"浅色、"system"跟随系统。默认值是"system"。

showTabsInTitlebar:设置为 true 时,将标签显示在窗口标题栏中,并隐藏窗口标题。设置为 false 时,会显示窗口标题栏,标签栏会显示在窗口标题下方。需要重启窗口生效。

showTerminalTitleInTitlebar:控制窗口标题栏的内容。设置为 true 时,窗口标题会显示为当前标签的标题;设置为 false 时,窗口标题固定显示“Windows Terminal”。

显示窗口标题栏

tabWidthMode:控制标签宽度。可以是"equal":所有标签等宽,或"titleLength":根据标题长度变化。默认值是"equal"。

snapToGridOnResize:设置为 true 时,调整窗口大小会自动吸附到最近的字符边界,设置为 false 时,调整窗口大小则会平滑地变化。

wordDelimiters:双击选词时用于确定单词分界的分割字符。

confirmCloseAllTabs:设置为 true 时,如果打开了多个标签页,在关闭窗口时会弹出确认对话框。设置为 false 则会直接关闭窗口而不会弹出确认对话框。

除了上述选项之外,全局设置还有下列选项:

copyOnSelect:设置为 true 时,鼠标选词后会自动复制所选内容。默认值是 false。

copyFormatting:设置为 true 时,复制的内容会包含格式信息(字体、字号、颜色等)。设置为 false 时,只复制纯文本。默认值是 false。

initialPosition:启动时窗口左上角在屏幕上的坐标。格式为"x,y"。有多个显示器时,这个坐标是相对于主显示器的坐标。如果 launchMode 设置为"maximized",窗口会最大化显示在这个坐标所在的显示器上。

launchMode:启动模式。可以是"default":默认窗口,或"maximized":最大化窗口。

rowsToScroll:控制鼠标滚轮滚动一格页面所滚动的行数。设置为0或"system"会跟随系统设置。

1.2、启动环境配置 profiles

作为一款终端,Windows Terminal 可以连接各种不同的 shell。安装后,Windows Terminal 已经为我们配置好了 PowerShell、cmd 以及 Azure Cloud Shell 的环境,如果你的系统安装了 WSL,它还会为你配置 WSL 环境。

开箱即用的启动环境配置

profiles 包含两个部分:defaults 和 list。在 defaults 中设置的项目会对所有配置生效。list 则是包含所有配置的列表。如果某个项目在 list 中和 defaults 中都设置了,则 list 中的设置会覆盖 defaults 中的设置。

profiles结构

如果你想加入一个新的配置,只需要在 list 中增加一个配置即可,下面我以 Git Bash 为例来演示配置各个项目的作用。

Git Bash 示例

guid:每一个配置都必须有一个GUID,并且不同配置的GUID不可重复,你可在网上搜索在线GUID生成器,或者使用Visual Studio菜单栏->工具->创建GUID 来创建一个GUID。

name:配置的名字,会显示在下拉菜单中。

commandline:shell 可执行文件的路径。上图的路径是Git Bash的默认安装路径。

Tips:Windows使用反斜杠"\"来分割路径,而在json字符串中表示反斜杠需要两个反斜杠来转义"\\"。但是在Windows Terminal配置文件中可以用正斜杠"/"来代替反斜杠以避免转义。

Tips:在后面加上命令行参数,可以实现很多方便的功能,例如启动后自动ssh到指定的服务器。这一点在后文有介绍。

hidden:是否隐藏该配置。如果设置为true,则配置不会显示在下拉菜单中,可以用来隐藏系统自动生成的配置(例如Azure Cloud Shell,系统生成的配置无法被删除,不常用的话可以用这个选项隐藏)。

startingDirectory:启动时shell所在的路径。

Tips:通常来说,启动路径只支持Windows下的路径,如果你想在启动wsl时进入家目录,可以如下设置:"//wsl$/DistroName/home/username"。注意修改其中对应wsl发行版的名字以及你的用户名。

closeOnExit:是否在退出shell或启动失败时关闭面板。可以是"graceful":在键入 exit 命令或进程正常退出时关闭面板(启动失败或进程异常退出时不会关闭面板),或"never":从不关闭面板。可以用 true 或 false 分别代替"graceful"或"never"。

colorScheme:颜色主题的名字。图中的"Campbell"是自带的颜色主题之一,可以在 defaults.json 中查看其他自带的颜色主题。关于自定义颜色主题,将在下一节介绍。

cursorColor:光标的颜色。十六进制表示的颜色值,格式为"#RRGGBB"。

cursorShape:光标的形状。可以是 "bar"( ┃)、 "emptyBox"( ▯ )、 "filledBox"( █ )、 "underscore"( ▁ ) 或 "vintage"( ▃ )。默认值是"bar"。

fontFace:字体。能用什么字体取决于你的系统安装了什么字体。

fontSize:字号。默认值是12。

historySize:命令历史记录的最大行数。默认值是9001。

icon:显示在标签和菜单中的图标。

Tips:官方推荐使用32×32像素的点阵图(png, gif, ico都可以)。可以避免缩放带来的性能和画质损耗。

padding:边距,显示字符的区域与窗口边界的距离。格式可以用一个数字"#"同时定义所有边距,两个数字"#, #"定义左右边距和上下边距,或四个数字"#, #, #, #"分别定义左、上、右、下边距。默认值是"8, 8, 8, 8"。

snapOnInput:设置为 true ,输入时窗口会自动跳转到输入行;设置为 false ,输入时窗口不会自动跳转。

useAcrylic:设置为true来启用亚克力效果,Windows Fluent Design 大法。默认值是false。不过显卡太弱的话会影响性能。

亚克力效果

antialiasingMode:抗锯齿模式。可以是"grayscale":灰度,"cleartype":清晰,或"aliased":无抗锯齿。效果如下图所示,默认值是"grayscale"。推荐"cleartype"模式,字体更明亮锐利。

抗锯齿模式对比

除了上述选项外,环境配置还有下列选项:

acrilicOpacity:启用亚克力效果时控制窗口透明度。0到1之间的浮点数,0表示完全透明,1表示完全不透明。默认值是0.5。

background:背景颜色。十六进制表示的颜色值,格式为"#RRGGBB"。注意,如果同时还设置了 colorScheme,则这个选项会覆盖 colorScheme 中的设置。

backgroundImage:背景图片的路径。

backgroundImageOpacity:背景图片的透明度。0到1之间的浮点数,0表示完全透明,1表示完全不透明。

backgroundImageAlignment:背景图片的对齐方式。可以是 "bottom"、 "bottomLeft"、 "bottomRight"、 "center"、 "left"、 "right"、 "top"、 "topLeft"或"topRight"。默认值是"center"。

backgroundImageStretchMode:背景图片的拉伸模式。可以是 "fill"、 "none"、 "uniform" 或 "uniformToFill"。默认值是"uniformToFill"。

显示一张背景图片,透明度0.3,放置在右下角,不拉伸。

cursorHeight:当光标形状是"vintage"时,控制光标的高度。25到100之间的整数,单位是相对于行高的百分比。

experimental.retroTerminalEffect:实验性功能,不保证将来的版本会继续存在。设置为true可以启用模拟CRT显示器效果,装逼利器。效果如下图所示,显卡太弱的话会影响性能。需要重启窗口才能生效。

CRT效果

foreground:前景色,即普通文本显示的颜色。注意,同 background 一样,如果同时还设置了 colorScheme,则这个选项会覆盖 colorScheme 中的设置。

scrollbarState:滚动条状态。可以是"visible":显示滚动条,或"hidden":隐藏滚动条。

selectionBackground:被选中文本的背景色。注意,同 background 一样,如果同时还设置了 colorScheme,则这个选项会覆盖 colorScheme 中的设置。

suppressApplicationTitle:忽略应用标题。设置为 true 时,标签标题固定显示 tabTitle 设置的值,设置为 false 时,标签标题根据当前运行的应用变化。

tabTitle:启动时的默认标签标题。(某些shell可能会忽略这个值,例如bash)。

完成你的配置之后,保存配置文件,即可在下拉菜单中看到新增的Git Bash选项,然后就可以愉快地在Windows Terminal中使用Git Bash了。

完成配置后保存,下拉菜单中出现Git Bash

1.3、颜色主题 schemes

在defaults.json文件中可以看到Windows Terminal内置的颜色主题,例如:

内置颜色主题 Campbell

其中 name 字段定义了该主题的名字,可以在环境配置中通过这个名字来使用这个主题。

你可以在 profiles.json 中增加自定义的主题。例如:

VSCode内置终端的默认主体颜色

上图设置了一个名为VSCode的自定义主题,这个颜色配置是VSCode内置Terminal的默认配色。你可根据自己的喜好配置喜欢的颜色,也可以上网搜索,发现更多好看好用的配色。

Tips:在VSCode中,按ctrl+shift+p打开命令面板,搜索“颜色主题”(color theme),找到“开发者:使用当前设置生成颜色主题”(Developer: Generate Color Theme From Current Settings)。该命令会根据当前颜色主题生成一个配色文件。在"colors"字段中找到名称中带有"terminal.ansi****"系列的颜色,即是当前VSCode终端中应用的颜色配置。(如果你的当前主题使用的是默认配色,那么这些值可能会被注释)

1.4、按键绑定 keybindings

同样,在defaults.json中可以看到默认的快捷键设置。例如 ctrl + shift + w 可以关闭面板、ctrl + shift + c可以复制所选文本、ctrl + shift + v可以粘贴文本,等等。此外,在下拉菜单中,各个环境配置右边也可以看到快捷键提示,通过ctrl + shift + 数字键在新标签中打开相应的shell环境。

你可以在profiles.json中添加新的快捷键。自定义快捷键格式如下:

自定义快捷键格式

其中 command 指定要执行的命令。若无需参数或采用默认参数,将其指定为对应命令的名称即可;若需带参数则需要用第二种格式,通过对应的参数名称来指定参数值。同一个命令可以绑定多组快捷键。

keys 指定了对应的按键组合,前方的修饰键通过加号"+"连接。可用的修饰键包括ctrl、alt、shift。如果多个命令绑定了相同的快捷键组合,那么上方的命令会优先生效。

如果你想取消某个快捷键组合(可能是快捷键冲突),可以通过将 command 设置为 null 实现。例如:{ "command": null, "keys": "ctrl+shfit+w" },即可取消这组快捷键组合。

可以绑定为快捷键的命令名称如下:

closePane:关闭面板。默认快捷键是"ctrl+shift+w"。

closeTab:关闭标签。

closeWindow:关闭窗口。默认快捷键是"alt+f4"。

copy:复制选定文本。默认快捷键是"ctrl+shift+c"和"ctrl+insert"。可选参数名称:trimWhitespace ,布尔类型,设置为 true 时,删除行尾的空白字符并保留换行符;设置为 false 时,保留空白字符并删除换行符,默认值是true。

copyTextWithoutNewlines:。复制选定文本,不带换行符。等同于{ "action": "copy", "trimWhitespace": false }。

decreaseFontSize:减小字号。默认快捷键是"ctrl+-"(或者按住ctrl鼠标滚轮往下)。

duplicateTab:复制当前标签页。默认快捷键是"ctrl+shift+d"。

increaseFontSize:增大字号。默认快捷键是"ctrl+="(或者按住ctrl鼠标滚轮往上)。

moveFocus:在标签页的面板之间移动焦点。可选参数名称:direction,指定焦点移动的方向,可以是"up", "down", "left", "right",默认值是"left"。

moveFocusDown:向下移动焦点,默认快捷键是"alt+down"。等同于{ "action": "moveFocus", "direction": "down" }。

moveFocusLeft:向左移动焦点,默认快捷键是"alt+left"。等同于{ "action": "moveFocus", "direction": "left" }。

moveFocusRight:向右移动焦点,默认快捷键是"alt+right"。等同于{ "action": "moveFocus", "direction": "right" }。

moveFocusUp:向上移动焦点,默认快捷键是"alt+up"。等同于{ "action": "moveFocus", "direction": "up" }。

newTab:新建标签。可选参数:index:整数,指定shell环境配置在下拉菜单中的序号,注意这个序号是从0开始的,默认值是0。profile:字符串,指定shell环境配置的GUID或名称,和 index 同时存在时会忽略 index 参数。commandline:字符串,使用该参数指定的命令,会覆盖配置中的设置。tabTitle:使用该参数指定的标签标题,会覆盖配置中的设置。startingDirectory:使用该参数指定的起始路径,会覆盖配置中的设置。

newTabProfile0:在新标签中打开配置0。默认快捷键是"ctrl+shift+1"。等同于{ "action": "newTab", "index": 0 }。

newTabProfile1:在新标签中打开配置1。默认快捷键是"ctrl+shift+2"。等同于{ "action": "newTab", "index": 1 }。

newTabProfile2:在新标签中打开配置2。默认快捷键是"ctrl+shift+3"。等同于{ "action": "newTab", "index": 2 }。

newTabProfile3:在新标签中打开配置3。默认快捷键是"ctrl+shift+4"。等同于{ "action": "newTab", "index": 3 }。

newTabProfile4:在新标签中打开配置4。默认快捷键是"ctrl+shift+5"。等同于{ "action": "newTab", "index": 4 }。

newTabProfile5:在新标签中打开配置5。默认快捷键是"ctrl+shift+6"。等同于{ "action": "newTab", "index": 5 }。

newTabProfile6:在新标签中打开配置6。默认快捷键是"ctrl+shift+7"。等同于{ "action": "newTab", "index": 6 }。

newTabProfile7:在新标签中打开配置7。默认快捷键是"ctrl+shift+8"。等同于{ "action": "newTab", "index": 7 }。

newTabProfile8:在新标签中打开配置8。默认快捷键是"ctrl+shift+9"。等同于{ "action": "newTab", "index": 8 }。

nextTab:切换到下一个标签页。默认快捷键是"ctrl+tab"。

openNewTabDropdown:打开下拉菜单。默认快捷键是"ctrl+shift+space"。

openSettings:打开设置。默认快捷键是"ctrl+,"。

paste:粘贴复制的文本。默认快捷键是"ctrl+shift+v"和"shift+insert"。

prevTab:切换到上一个标签页。默认快捷键是"ctrl+shift+tab"。

resetFontSize:重置字号。默认快捷键是"ctrl+0"。

resizePane:调整面板大小。可选参数:direction,指定调整的方向,可以是"up", "down", "left", "right",默认值是"left"。

resizePaneDown:将面板分界线向上移动。默认快捷键是"alt+shift+down"。等同于{ "action": "resizePane", "direction": "down" }。

resizePaneLeft:将面板分界线向上移动。默认快捷键是"alt+shift+left"。等同于{ "action": "resizePane", "direction": "left" }。

resizePaneRight:将面板分界线向上移动。默认快捷键是"alt+shift+right"。等同于{ "action": "resizePane", "direction": "right" }。

resizePaneUp:将面板分界线向上移动。默认快捷键是"alt+shift+up"。等同于{ "action": "resizePane", "direction": "up" }。

scrollDown:向下滚动一行。默认快捷键是"ctrl+shift+right"。

scrollDownPage:向下滚动一页。默认快捷键是"ctrl+shift+pgdn"。

scrollUp:向上滚动一行。默认快捷键是"ctrl+shift+up"。

scrollUpPage:向上滚动一页。默认快捷键是"ctrl+shift+pgup"。

splitHorizontal:水平拆分面板。默认快捷键是"alt+shift+-"。等同于{ "action": "splitPane", "split": "horizontal"}。

splitVertical:垂直拆分面板。默认快捷键是"alt+shift+plus"。等同于{ "action": "splitPane", "split": "vertical"}。

splitPane:拆分面板。可选参数:split,可以是"horizontal":水平拆分,"vertical":垂直拆分,或者"auto":自动,默认值是自动。index:整数,指定新面板中shell环境配置在下拉菜单中的序号,注意这个序号是从0开始的,默认值是0。profile:字符串,指定新面板中shell环境配置的GUID或名称,和 index 同时存在时会忽略 index 参数。commandline:字符串,使用该参数指定的命令,会覆盖配置中的设置。tabTitle:使用该参数指定的标签标题,会覆盖配置中的设置。startingDirectory:使用该参数指定的起始路径,会覆盖配置中的设置。

switchToTab:切换标签。可选参数:index:整数,标签页的序号,注意这个序号是从0开始的,默认值是0。

switchToTab0:切换到0号标签。默认快捷键是"ctrl+alt+1"。等同于{ "action": "switchToTab", "index": 0 }。

switchToTab1:切换到1号标签。默认快捷键是"ctrl+alt+2"。等同于{ "action": "switchToTab", "index": 1 }。

switchToTab2:切换到2号标签。默认快捷键是"ctrl+alt+3"。等同于{ "action": "switchToTab", "index": 2 }。

switchToTab3:切换到3号标签。默认快捷键是"ctrl+alt+4"。等同于{ "action": "switchToTab", "index": 3 }。

switchToTab4:切换到4号标签。默认快捷键是"ctrl+alt+5"。等同于{ "action": "switchToTab", "index": 4 }。

switchToTab5:切换到5号标签。默认快捷键是"ctrl+alt+6"。等同于{ "action": "switchToTab", "index": 5 }。

switchToTab6:切换到6号标签。默认快捷键是"ctrl+alt+7"。等同于{ "action": "switchToTab", "index": 6 }。

switchToTab7:切换到7号标签。默认快捷键是"ctrl+alt+8"。等同于{ "action": "switchToTab", "index": 7 }。

switchToTab8:切换到8号标签。默认快捷键是"ctrl+alt+9"。等同于{ "action": "switchToTab", "index": 8 }。

toggleFullscreen:切换到全屏模式。默认快捷键是"alt+enter"和"f11"。

find:打开查找工具栏。默认快捷键是"ctrl+shift+f"。

2、右键菜单

如果你经常需要从某个特定的文件夹打开终端,那么把在文件管理器的右键菜单中加入“在此处打开终端”命令是非常方便的办法。Windows Terminal从v0.9版本开始支持命令行参数,因此我们可利用这一点在右键菜单中加入快捷启动Windows Terminal的选项,并通过特定的参数启动特定的shell环境。

增加右键菜单需要修改注册表,你可以使用注册表脚本来修改,或者按下Win+R,输入 regedit 运行注册表编辑器直接编辑注册表。

如下图所示的右键菜单中,“在 Git Bash 中打开”、“在 Linux Shell 中打开”、“在 PowerShell 中打开”可以在Windows Terminal中分别启动相应的shell。

注册表脚本如下:

Windows Registry Editor Version 5.00


[HKEY_CLASSES_ROOT\Directory\Background\shell\git-bash-wt]

@="在 Git Bash 中打开"

"Icon"="C:\\Program Files\\Git\\git-bash.exe"


[HKEY_CLASSES_ROOT\Directory\Background\shell\git-bash-wt\command]

@="C:\\Users\\YOURUSERNAME\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -p \"PROFILE_OF_GIT_BASH\" -d \"%V\""


[HKEY_CLASSES_ROOT\Directory\shell\git-bash-wt]

@="在 Git Bash 中打开"

"Icon"="C:\\Program Files\\Git\\git-bash.exe"


[HKEY_CLASSES_ROOT\Directory\shell\git-bash-wt\command]

@="C:\\Users\\YOURUSERNAME\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -p \"{PROFILE_OF_GIT_BASH}\" -d \"%V\""


[HKEY_CLASSES_ROOT\Directory\Background\shell\ps-wt]

@="在 PowerShell 中打开"

"Icon"="powershell.exe"


[HKEY_CLASSES_ROOT\Directory\Background\shell\ps-wt\command]

@="C:\\Users\\YOURUSERNAME\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -p \"PROFILE_OF_POWERSHELL\" -d \"%V\""


[HKEY_CLASSES_ROOT\Directory\shell\ps-wt]

@="在 PowerShell 中打开"

"Icon"="powershell.exe"


[HKEY_CLASSES_ROOT\Directory\shell\ps-wt\command]

@="C:\\Users\\YOURUSERNAME\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -p \"PROFILE_OF_POWERSHELL\" -d \"%V\""


[HKEY_CLASSES_ROOT\Directory\Background\shell\linux-wt]

@="在 Linux Shell 中打开"

"Icon"="wsl.exe"


[HKEY_CLASSES_ROOT\Directory\Background\shell\linux-wt\command]

@="C:\\Users\\YOURUSERNAME\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -p \"PROFILE_OF_WSL\" -d \"%V\""


[HKEY_CLASSES_ROOT\Directory\shell\linux-wt]

@="在 Linux Shell 中打开"

"Icon"="wsl.exe"


[HKEY_CLASSES_ROOT\Directory\shell\linux-wt\command]

@="C:\\Users\\YOURUSERNAME\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -p \"PROFILE_OF_WSL\" -d \"%V\""

请注意wt.exe的路径,必须使用绝对路径。示例的路径是通过Windows App Store安装的默认路径,请将其中的 YOURUSERNAME 改为你的用户名。

其次是 -p 参数指定的profile,就是配置文件中相应profile的名称或者GUID,请根据自己的配置文件修改。

此外,其中的"Icon"指定了菜单项前面显示的图标所在的路径,可以指定一个exe文件或ico文件,系统会自动读取其中的图标。如果你喜欢Windows Terminal的图标,可以在GitHub上找到。在Windows Terminal仓库中搜索terminal.ico就能找到。注意字符串当中的反斜杠"\\"、双引号"\""需要转义。

右键菜单的本质是带参数执行wt.exe,下面介绍wt.exe的命令行参数,格式如下

wt.exe [terminal_parameters]

[new-tab [terminal_parameters]]

[split-pane [-H]|[-V] [terminal_parameters]]

[focus-tab [--target,-t tab-index]|[--next,-n]|[--previous,-p]]


其中[terminal_parameters]: [--profile,-p profile-name] [--startingDirectory,-d starting-directory] [commandline]

[terminal_parameters]用于指定打开的shell环境:--profile,-p 选项指定环境配置的名字或者GUID;--startingDirextory,-d 选项指定起始工作路径,覆盖环境配置中指定的路径;commandline 用于指定命令行,同样会覆盖环境配置中指定的命令。

[new-tab [terminal_parameters]]用于打开一个新的标签页,后面可以带[terminal_parameters]参数指定在新标签页中启动的shell配置。

[split-pane [-H]|[-V] [terminal_parameters]]用于拆分当前面板。-H指定水平拆分,-V指定垂直拆分。后面同样可以用[terminal_parameters]参数指定在新的面板中启动的shell环境。

[focus-tab [--target,-t tab-index]|[--next,-n]|[--previous,-p]]用于切换到指定的标签页。用[--target,-t tab-index]指定标签页的序号,或者用[--next,-n]|[--previous,-p]指定切换到前一个或后一个标签页。

同理,你可以在配置文件中添加常用配置,并通过添加右键菜单的方式方便快捷地启动它们。如果你经常需要ssh到远程的服务器,那么下面的配置会非常适合你:(Windows 10可以安装OpenSSH,因此没有wsl的话可以用PowerShell)

{  // 启动WSL并ssh到指定的服务器

        "guid": "generate-your-own-guid",

        "name": "ssh to server",

        "commandline": "wsl.exe ssh user@server.com"

}

3、总结

Windows Terminal尚在预览版阶段,但目前的使用体验已经非常棒了。对UTF-8的支持、GPU加速的界面渲染、Windows Fluent设计风格、更重要的是它开源免费。终于能够一改Windows下糟糕的命令行体验,在图形化的Windows中打开了一扇特殊的窗口。期待Windows Terminal 1.0版本的正式发布。

Windows Terminal 终极指南的评论 (共 条)

分享到微博请遵守国家法律