Windows 终端常见问题解答

查找有关 Windows 终端的一些最常见问题的解答。

如何在 Windows 终端的管理员模式下运行 shell?

若要使用提升的管理员权限(管理员模式)运行 Windows 终端,请右键单击 Windows 终端图标,然后再次在显示的 Windows 终端标题上,选择“以管理员身份运行”。

Windows 终端管理员模式

或者,可使用快捷方式 ⊞ Windows 键 + X,然后选择“Windows 终端(管理员)”打开 Windows 快速访问菜单。

是否可在 Windows 终端窗口中同时使用管理员和非管理员选项卡?

否,出于安全考虑,不支持将管理员级别权限选项卡式 shell 与没有提升的管理员权限的 shell 混合使用。

是否可将 Windows 终端用作 VSCode 中的集成终端?

否,Visual Studio Code 是 xtermjs,它是使用 TypeScript 编写的,而 Windows 终端是本机代码。

Windows 终端支持哪些 shell?

Windows 终端支持计算机上具有的任何命令行或 shell,包括 Windows 附带的(例如 PowerShell 或 Windows 命令提示符 (cmd.exe)),还支持可使用 WSL、Azure Cloud Shell 和 Git Bash 等安装的任何 Linux 发行版。终端会在你使用 WSL 安装 Linux 发行版时自动检测,并为你创建配置文件。 它还可保存 Azure 凭据,让你能够快速登录到 Azure Cloud Shell。

shell 和终端之间有何区别?

Windows 终端基本上是一个主机,可用于通过标签页或窗口窗格在可自定义环境中并行运行多个命令行应用或 shell。 “shell”应用程序示例包括 cmd.exe(传统 Windows 命令提示符)、powershellzsh。 这些纯文本应用程序提供字符流,不关心它们如何呈现给用户。 它们有时也称为“命令行客户端”应用程序。 另一方面,“终端”应用程序(如 Windows 终端、gnome-terminal、xterm、iterm2 或 hyper)都是图形应用程序,可用于呈现命令行客户端的输出,自定义字体、文本大小、颜色等内容。在 Windows 上,如果运行 cmd.exe,操作系统将创建一个 conhost.exe 实例作为“终端”来显示 cmd.exe 命令行客户端。 对于 PowerShell 也是如此,系统会为尚未连接到某种终端的任何客户端创建新的 conhost 窗口。 任何终端都可以运行任何命令行客户端应用程序,因此 Windows 终端可以运行你偏好的任何 shell,例如使用适用于 Linux 的 Windows 子系统 (WSL) 的 Bash。

如何手动添加 shell?

settings.json 文件中,可创建或修改运行任何命令行可执行文件的配置文件。 在 settings.json 文件中,将“命令行”设置为所需的任何内容。 例如,powershell --> "pwsh.exe"。 还可滚动到配置文件列表底部,然后选择“+ 添加新的配置文件”,使用终端设置 UI 添加配置文件。 “添加配置文件”设置的屏幕截图

如何退出焦点模式?

若要退出焦点模式(它模式会隐藏 Windows 终端上的选项卡和标题栏),请打开终端命令面板 (Ctrl+Shift+P),找到“切换焦点模式”,然后按 Enter。

在 Windows 终端命令面板中切换焦点模式设置

你可能还需要确保没有在启动设置中将启动模式设置为“焦点”。

Windows 终端启动设置中的焦点模式选择器

Windows 终端与 Windows 终端(预览版)之间有何区别?

Windows 终端是稳定的公共版本,它会接收已在预览版中经过测试和调试的定期更新。 建议通过 Microsoft Store 进行安装。这样,每当发布自动更新时,都将提供这些更新。 Windows 终端预览版适用于有兴趣在最新功能开发、测试是否有 bug,并逐渐稳定可添加到主终端版本的过程中试用这些功能的用户。 此版本中的功能使用“(预览版)”标记进行记录。

还有哪些方法来用于安装 Windows 终端?

尽管建议使用 Microsoft Store 安装 Windows 终端,但你也可使用 Windows 程序包管理器GitHubChocolateyScoop 进行安装。

是否可使用批处理文件来初始化 Windows 终端配置文件?

是。 首先需要转到 settings.json 文件配置文件部分。 使用 "commandline": 属性,可指定要在 Windows 终端中作为配置文件运行的任何批处理文件、命令、ssh 连接或可执行文件。 只需输入要运行的文件的路径即可。

以下示例展示了基于“演示”批处理文件设置的终端配置文件。

{
"commandline": "%USERPROFILE%/OneDrive/demo.bat",
"name": "Batch Profile"
}

也可在设置 UI 中完成此操作。 选择“+ 添加新的配置文件”>“+ 新建空配置文件”。 浏览到批处理文件(或 SSH 连接、可执行文件、命令文件等)所在的开始目录。 为配置文件命名,然后保存。 “添加批处理文件配置文件”设置的屏幕截图

开源社区贡献者已向 Windows 终端添加了哪些类型的功能?

有大量针对 Windows 终端的贡献,包括 bug 修复、识别和讨论问题向此文档贡献内容,不过我们最喜欢的一些来自社区贡献者的功能已经包含对背景图和 gif怀旧效果制表符着色等内容的支持。 详细了解如何贡献内容

什么是 conhost.exe?

Windows 控制台主机 conhost.exe 是 Windows 的原始命令行用户体验。 它还承载 Windows 的命令行基础结构,以及 Windows 控制台 API 服务器、输入引擎、呈现引擎和用户首选项等。Windows 控制台的一个主要目标是维持向后兼容性,这使得禁止添加新功能,且进行添加会导致创建 Windows 终端。 若要了解详细信息,请查看 Windows 终端开源存储库Windows 控制台文档

是否可在关闭 Windows 终端时保存所有打开的控制台窗口的布局,在启动新会话时还原这些窗口?

可以! 现在,从 Windows 终端预览版 v1.12.2922.0 开始,你可在使用 firstWindowPreference 全局设置关闭终端会话时保存窗口窗格布局。

对 Windows 终端有哪些计划? 是否有我可向其贡献内容的开发路线图或功能请求列表?

Windows 终端正在积极开发中。 你可在开源终端存储库中的终端 2.0 路线图文档上查看团队的计划。 新功能会先添加到 Windows 终端预览版中,通常在加入预览版后一个月时会添加到 Windows 终端

你可通过在终端存储库中提交问题来贡献功能请求或想法,以及提交 bug 报告、安全漏洞或文档问题。

在终端存储库提交问题的屏幕截图

如何使用 PSReadLine 自定义 PowerShell 提示颜色?

PSReadLine 模块负责设置 PowerShell 命令行的颜色和行为。 可使用 Set-PSReadLineOption(请参阅“示例 4:设置多个颜色选项”)设置 PowerShell 提示的特定属性。

你能否在未提升的终端窗口中让选项卡以管理员身份运行?

不是。 有关更多技术详细信息,请参阅此规范此文档

当 Windows 操作系统设置已设置为浅色时,为什么 Windows 终端默认外观主题设置为深色?

除非用户更改,否则 Windows 11 中的系统主题默认为浅色主题外观。 但是,Windows 终端外观配色方案默认为深色。 许多用户不会更改外观主题,只会看到默认主题。 要将 Windows 终端外观与 Windows 操作系统 (OS) 标题栏的颜色保持一致,需要保留以下选项:1) 不执行任何操作(这是 v1.16 之前的终端默认设置)。 在默认设置下,结果是黑色终端内容与浅色标题栏之间形成一种视觉上无吸引力的对比。 2) 默认该终端的配色方案与操作系统主题相匹配,并将应用主题设置为“system”。 在默认设置下,这将导致终端的显示方式为白底黑字。 3) 无论操作系统主题如何,将 Windows 终端的默认主题更改为深色。 在默认设置下,这将导致终端的显示方式为黑底白字且标题栏为深色。 选项 3 在默认设置下向用户呈现了最不意外的最佳平衡,并具有最美观的效果。 Windows 终端 v1.16 还引入了用于自定义窗口外观的新切换,其中包括:自定义标题栏颜色、选项卡颜色(包括自动匹配背景)以及为聚焦窗口或非聚焦窗口启用不同颜色。 Windows 终端 1.17 引入了额外的灵活性,能够将终端主题同步到操作系统主题,并将配色方案同步到操作系统主题。 终端已经是 99% 的黑底白字,这些更改只是使标题栏与之对齐。

如何将 Windows 终端主题更改回“system”?

"theme": "system" 添加到 settings.json,或可在 Windows 终端设置的“外观”页上更改主题。

为什么在将 Windows 终端设置为浅色主题后选项卡仍为黑色?

这是 v1.16 中引入的主题更改的副作用。 v1.16 及更高版本中的默认主题将始终使用终端背景色作为每个选项卡的默认颜色。默认情况下,在黑色终端窗口中,选项卡为黑色。如果使用蓝色配色方案(如 Campbell PowerShell),选项卡将为蓝色。这是为了给终端一种“无缝”的感觉。 在浅色模式下,会出现以下情况:黑色选项卡将显示在白色选项卡行上。 但在 v1.16 及更高版本中,可以自定义终端主题。 例如:

"theme": "White Tabs",
"themes":
[
    {
        "name": "White Tabs",
        "tab":
        {
            "background": "#ffffffff",
        },
        "window":
        {
            "applicationTheme": "light"
        }
    },
]

或者,如果你使用的是操作系统浅色主题且希望将终端配色方案设置为白色背景,v1.17 支持根据窗口主题设置不同的配色方案。 例如,要根据 Windows 终端的 window.applicationTheme 更改背景色,可执行以下操作:

"colorScheme":
{
    "light": "One Half Light",
    "dark": "One Half Dark",
},