Windows Terminal完整指南


在本文中,我们将探讨 Windows Terminal,它是WSL2的理想配套。它速度快、可配置、外观漂亮,并且提供了 Windows 和 Linux 开发的所有优点。

Windows 已经完全接受了 Linux,而 WSL2 使它成为一种无缝的乐趣。

你可以通过以下方式访问发行版的终端:

  1. 单击其开始菜单图标
  2. 在 Powershell 或命令提示符下输入 wslbash
  3. 通过启动 %windir%\system32\bash.exe ~ 的配置文件使用第三方终端选项(例如 Cmder,ConEmu 和 Hyper)
  4. 在 VS Code 中设置 Linux 为默认 shell,方法是按 Ctrl + Shift + P,然后输入/选择终端 Terminal: Select Default Shell,然后选择WSL Bash

Windows Terminal提供了更多的选择,但你不会后悔安装它。新的应用功能。

  • 支持 WSL2,SSH,Powershell,cmd 和其他命令行
  • 多个选项卡和拆分窗格
  • 搜索框
  • 自定义键绑定
  • GPU 加速文字渲染
  • 美观的新字体 Cascadia Code
  • 资源使用率低(每个选项卡通常 10MB)
  • 自动更新(如果使用 Microsoft Store)
  • 好的文档
  • 它是开源的!

如何安装 Windows Terminal

安装 Windows Terminal 的最简单方法是通过 Microsoft Store:

ms-windows-store://pdp/?ProductId=9n0dx20hk701

如果此链接失败,请尝试在浏览器中打开 Microsoft Store,或从 Windows 开始菜单中启动Microsoft Store应用程序并搜索“Terminal”。

注意:注意不要选择早期的“ Windows Terminal Preview”应用程序。

点击 Get 并等待几秒钟以完成安装。

如果你无权访问商店,则可以从 GitHub 下载最新版本

Windows Terminal 应用图标现在可在 Windows 开始菜单中使用。为方便访问,右键单击该图标并选择“锁定到开始”或“更多”,然后选择“锁定到任务栏”。

Windows Terminal 入门

首次运行时,Windows Terminal 以 Powershell 作为默认配置文件启动。下拉菜单可用于启动其他选项卡并访问设置:

终端会自动为你安装的所有 WSL 发行版和 Windows shell 生成配置文件,尽管你可以在全局设置中禁用生成。

管理标签和窗格

通过单击 + 图标或 Ctrl + Shift + T 打开默认配置文件的新标签。要打开其他个人资料的标签,请从下拉菜单中选择该标签,或按 Ctrl + Shift + N ,其中 N 是个人资料的编号。

Alt + Shift + D 复制并拆分窗格。每次使用时,活动窗格都会沿最长轴分成两部分:

强制创建:

  • 垂直窗格中,按 Alt + Shift + +
  • 水平窗格,按 Alt + Shift + -

要在新窗格中打开另一个配置文件,请在从下拉菜单中选择时按住 Alt 键。

按住 Alt 键,然后使用光标键在键盘上的活动窗格之间切换。可以通过按住 Alt + Shift 并使用光标键相应地调整大小来调整窗格的大小。

可以通过双击文本来重命名选项卡,你还可以通过右键单击标签并选择菜单选项来更改名称或颜色:

这只会影响当前标签页;它不会永久更改个人资料。

要关闭活动窗格或选项卡,按 Alt + Shift + W 或输入终端的标准退出命令(通常是 exit)。

字体大小

可以使用 Ctrl + +Ctrl + - 来调整活动终端的文本大小。或者,按住 Ctrl 并滚动鼠标滚轮。

滚动

使用滚动条浏览终端输出。或者,按住 Ctrl 键,按光标向上、光标向下、Page UpPage Down键,使用键盘导航。

搜索

Ctrl + Shift + F 打开搜索框:

输入任何术语,然后使用向上和向下图标搜索终端输出。单击 Aa 图标可激活和停用精确大小写匹配。

复制粘贴

默认情况下,复制和粘贴分别绑定到 Ctrl + Shift + CCtrl + Shift + V,尽管 Ctrl + CCtrl + V 也可以。

注意:请警惕 Ctrl + C 可以终止 Linux 应用程序,因此建议使用 Shift。

全局设置中提供了一个自动选择时复制选项,你还可以通过右键单击鼠标来粘贴当前剪贴板项目。

配置

可从下拉菜单或 Ctrl + ,(逗号)访问设置。该配置在单个 settings.json 文件中定义,因此可能会提示你选择文本编辑器。VS Code 是一个不错的选择,但是如果你希望在不使用颜色编码和语法检查的情况下进行编辑,则记事本就可以了。

settings.json 控件:

该文件使用以下格式:

// This file was initially generated by Windows Terminal
{

  // general settings, e.g.
  "initialRows": 40,

  // profile settings
  "profiles":
  {

    "defaults":
    {
      // settings that apply to all profiles
    }
    "list":
    [
      // list of individual profiles, e.g.
      {
        "guid": "{81d1dceb-c123-5678-90a1-123abc456def}",
        "name": "Windows PowerShell",
        "commandline": "powershell.exe"
      },
      {
        "guid": "{91d1dceb-c123-5678-90a1-123abc456def}",
        "name": "Ubuntu",
        "source": "Windows.Terminal.Wsl"
      }
    ]

  }

  // custom color schemes, e.g.
  "schemes": [
    {
      "name": "My new theme",
      "cursorColor": "#FFFFFF",
      "selectionBackground": "#FFFFFF",
      "background" : "#0C0C0C",
      "foreground" : "#CCCCCC"
    }
  ],

  // custom key bindings, e.g.
  "keybindings:
  [
    { "command": "find", "keys": "ctrl+shift+f" }
  ]

}

默认值在 defaults.json 中定义。单击下拉菜单中的 Settings 时,按住 Alt 可以将其打开。

警告:请勿更改默认文件!使用它可以查看默认设置,并在必要时在 settings.json 中添加或更改设置。

全局配置

以下全局设置是最有用的,尽管 Windows 终端文档中记录了更多的全局设置。

defaultProfile 定义启动 Windows Terminal 时用作默认配置文件的 GUID。

copyOnSelect 设置为 true 可将选定的文本自动复制到剪贴板,而无需按 Ctrl + Shift +C

copyFormatting 设置为 false 即可仅复制纯文本而无需任何样式。 (我希望这是所有应用程序的默认设置!)

initialColumnsinitialRows 设置为水平和垂直尺寸的字符数。

可以将 tabWidthMode 设置为:

  1. equal:每个选项卡的宽度相同(默认值)
  2. titleLength:每个标签都设置为其标题的宽度,或者
  3. compact:非活动选项卡会缩小到其图标的宽度。

disabledProfileSources 设置一个数组,以防止自动生成配置文件。例如:

"disabledProfileSources": [
    "Windows.Terminal.Wsl",
    "Windows.Terminal.Azure",
    "Windows.Terminal.PowershellCore"
  ],

这将禁用所有生成的配置文件,删除你要保留的任何一个。

Profile 个人资料设置

通过在 profilelist 数组中创建一个对象组来定义新的配置文件。一个 WSL2 Ubuntu 的例子。

{
  "guid": "{91d1dceb-c123-5678-90a1-123abc456def}",
  "name": "Ubuntu",
  "source": "Windows.Terminal.Wsl",
  "startingDirectory": "//wsl$/Ubuntu/home/username/",
  "colorScheme": "Tango Dark",
  "useAcrylic": true,
  "acrylicOpacity": 0.75,
  "hidden": false
},

每个配置文件均使用以下设置进行定义:

设置 描述
guid 唯一标识符(必填)。对于新的配置文件,可以在 guidgen.com 上在线生成 GUID。
source 配置文件生成器。仅在自动添加了配置文件且不得对其进行编辑时使用。
commandline 假定未设置“source”的情况下运行的可执行文件。例如,这可能是 SSH 命令,例如“ ssh yourname@domain.com
startingDirectory Shell 开始目录。对于 WSL 发行版,最好将其设置为“ //wsl\$/Ubuntu/home/username/”,其中 username 是安装期间创建的用户
name 下拉菜单中显示的个人资料名称
tabTitle 标签标题中显示的名称
suppressApplicationTitle 设置为 true 以强制 bash 中的“ tabTitle”或“ name”
icon 下拉菜单和标签中显示的图标的完整路径,例如“ C:/images/tux.png”。 24 位 PNG 是最好的选择;不幸的是,不支持 SVG
hidden 如果设置为 true,则配置文件不会显示在下拉菜单中
fontFace 使用特定的字体
fontSize 使用特定的字体磅值整数
fontWeight 使用特定的字体粗细。这可以是 OpenType 整数,也可以是关键字:"normal", "thin", "extra-light", "light", "semi-light", "medium", "semi-bold", "bold", "extra-bold", "black", "extra-black"
padding 在窗口边缘的文本周围填充。可以设置一个,两个或四个逗号分隔的值,例如“ 1、2、3、4”分别设置左,上,右和下
antialiasingMode 抗锯齿方法。设置为 “灰度”(默认)、”cleartype “或 “aliased”。
cursorShape 游标类型。设置为“bar”(默认),“vintage”,“underscore”,“ filledBox”或“ emptyBox”
cursorHeight “vintage”光标的高度,该高度定义为 25 到 100 之间的整数
cursorColor 光标颜色,定义为“ #rgb”或“ #rrggbb”

特定于主题的设置包括:

设置 描述
colorScheme 在 defaults.json 或 settings.json 中的“方案”列表中定义的配色方案的名称(请参见下文)
useAcrylic 设置为 true 以使用毛玻璃背景效果
acrylicOpacity acrylic 不透明度从 0(完全透明)到 1(完全不透明)。
backgroundImage 背景图片的完整路径,例如“ C:/images/background.png”
backgroundImageOpacity 背景图像的不透明度从 0(完全透明)到 1(完全不透明)

最后,在配置文件中添加 ”experimental.retroTerminalEffect”:true,以实现复古的 CRT 效果!…

配色方案设置

可以将每个配置文件的 ”colorScheme” 设置为 defaults.json 中包含的任何配色方案的名称。例如:

“Campbell”

“Campbell Powershell”

“One Half Dark”

“One Half Light”

“Tango Dark”

“Tango Light”

“Vintage”

创建自己的配色方案

你可以在 settings.json 的“方案”数组中定义自己的方案对象。每种颜色均以十六进制值定义。例如:

"schemes": [
  {
    "name": "My New Theme",
    "foreground": "#EEEEEE",
    "background": "#111111",
    "cursorColor": "#FFFFFF",
    "black": "#000000",
    "red": "#CC0000",
    "green": "#4E9A06",
    "yellow": "#C4A000",
    "blue": "#3465A4",
    "purple": "#75507B",
    "cyan": "#06989A",
    "white": "#EEEEEE",
    "brightBlack": "#555753",
    "brightRed": "#EF2929",
    "brightGreen": "#8AE234",
    "brightYellow": "#FCE94F",
    "brightBlue": "#729FCF",
    "brightPurple": "#AD7FA8",
    "brightCyan": "#34E2E2",
    "brightWhite": "#FFFFFF"
  }
],

然后,可以通过在配置文件的 ”colorScheme” 设置中添加其 "name" 来使用该方案。例如:

"colorScheme": "My New Theme"

键盘绑定设置

settings.json 中的 ”keybindings” 数组会覆盖或补充 defaults.json 中设置的默认键绑定。每个键绑定都定义为具有 “command”"keys"组合的对象。例如:

// Ctrl + Shift + F to open the search box
{ "command": "find", "keys": "ctrl+shift+f" },

在某些情况下,“command” 可以是具有一个或多个参数的应用程序 "action" 。例如:

// Ctrl + Shift + 1 to open the first profile in a new tab
{
  "command": { "action": "newTab", "index": 0 },
  "keys": "ctrl+shift+1"
},

"keys" 值接受修饰符 ctrl +shift +alt +,后跟:

type keys
功能键 f1-f24
字母数字键 a-z, 0-9
符号键 -,=,[,], \,;,,,,.,/
光标键 down, left, right, up,pagedown,pageup,pgdn,pgup,end,home,plus
动作键 tab, enter, esc, escape, space, backspace, delete, insert
数字键盘 numpad_0-numpad_9, numpad0-numpad9, numpad_add, numpad_plus,
numpad_decimal, numpad_period, numpad_divide,
numpad_minus, numpad_subtract, numpad_multiply

例如,如果你想使用 Ctrl + F 打开搜索框,则可以在 settings.json 中的 ”keybindings” 数组中添加一行:tab

"keybindings":
[
  { "command": "find", "keys": "ctrl+f" }
]

搜索框也将用 Ctrl + Shift + F 打开,因为该设置是在 defaults.json 中定义的——除非你将组合键分配给另一个命令。

命令行选项

可以通过运行 wt.exe 从快捷方式或任何 Windows 或 Linux 终端启动 Windows 终端。支持以下选项:

选项 描述
—help,-h,-?, /? 显示帮助
—maximized,-M 启动最大值
—fullscreen,-F 启动全屏

你还可以传递由分号分隔的命令列表。命令用于定义新的选项卡和窗格以及其他控制参数:

命令 参数
new-tab —profile or -p, —startingDirectory or -d, commandline, —title 打开一个新标签页
split-pane --horizontal or -H,—vertical or -V, —profile or -p, —startingDirectory or -d, commandline, —title 打开一个新窗格
focus-tab —target or -t 聚焦标签

例子

以下示例必须从标准 cmd 命令行或快捷方式执行。

使用 UbuntuWindows Powershell 选项卡打开 Windows 终端:

wt -p "Ubuntu" ; new-tab -p "Windows PowerShell"

在单独的窗格中使用 UbuntuWindows Powershell 和命令提示符配置文件打开 Windows 终端:

wt -p "Ubuntu" ; split-pane -V -p "Windows PowerShell" ; split-pane -H -p "Command Prompt"

Windows Terminal 文档中提供了用于从 Linux Shell 或 Powershell 启动 Windows Terminal 的更多示例。

总结

希望你喜欢这篇 Windows 终端的介绍。正如所说,它是 WSL2 的理想配套。它速度快、可配置、外观漂亮,并且提供了 Windows 和 Linux 开发的所有优点。


原文:https://www.sitepoint.com/windows-terminal/

作者:Craig Buckler


文章作者: 张张
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张张 !
 上一篇
如何创建与框架无关的JavaScript插件 如何创建与框架无关的JavaScript插件
JavaScript 中的插件使我们能够扩展语言,以实现所需的某些强大(或不够强大)的功能。插件/库本质上是打包的代码,可以使我们免于一遍又一遍地编写相同的东西(功能)。 在 JavaScript 生态系统中,有数百个框架,这些框架中的每
2020-11-14
下一篇 
如何在WebStorm中获得对数据库工具和SQL的支持 如何在WebStorm中获得对数据库工具和SQL的支持
你可能已经知道,其他 JetBrains IDE(例如 PhpStorm 和 IntelliJ IDEA Ultimate)具有对数据库工具和 SQL 的内置支持,这些支持是通过与这些 IDE 捆绑在一起的数据库插件提供的。 虽然我们没有
2020-10-26
  目录