Windows 终端中的外观配置文件设置

下面列出的设置分别影响每个配置文件的视觉设置。 如果希望将某个设置应用于所有配置文件,可以将其添加到 settings.json 文件中的配置文件列表上方的 defaults 部分。

"defaults":
{
    // SETTINGS TO APPLY TO ALL PROFILES
},
"list":
[
    // PROFILE OBJECTS
]

文本

配色方案

这是配置文件中使用的配色方案名称。 配色方案是在 schemes 对象中定义的。 可以在配色方案页上找到更详细的信息。

除了单个配色方案名称外,此属性还可以接受一对配色方案名称,如下所示:

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

以这种方式指定时,终端将根据应用程序的主题在两种给定的配色方案之间自动切换。 终端将遵循终端所选主题的 theme.applicationTheme 属性。 如果 applicationTheme 设置为 system,则会改用与操作系统主题匹配的配色方案。

属性名称:colorScheme

必要性: 可选

接受:字符串形式的配色方案名称,或具有 lightdark 属性的对象

默认值:"Campbell"

字体

必须在此结构中定义其他字体设置。 下面的示例显示了这在 JSON 文件中的效果。

属性名称:font

必要性: 可选

字体

这是配置文件中使用的字体名称。 如果找不到或无效,终端将尝试回退到 Consolas。 若要了解默认字体 (Cascadia Mono) 的其他变体,请访问 Cascadia Code 页

属性名称:face(在 font 对象中定义)

必要性: 可选

接受: 字符串形式的字体名称。

默认值:"Cascadia Mono"

字体大小

这将设置配置文件的字体大小(以磅为单位)。

属性名称:size(在 font 对象中定义)

必要性: 可选

接受: 整数

默认值:12

字体粗细

此属性设置配置文件字体的粗细(笔画的粗细)。

属性名称:weight(在 font 对象中定义)

必要性: 可选

接受:"normal""thin""extra-light""light""semi-light""medium""semi-bold""bold""extra-bold""black""extra-black",或与 OpenType 字体粗细的数值表示形式相对应的整数

默认值:"normal"

字体示例

"font": {
    "face": "Cascadia Mono",
    "size": 12,
    "weight": "normal"
}

重要

font 对象仅在 Windows 终端版本 1.10+ 中可用。 在该版本之前,应分别使用 fontFacefontSizefontWeight 属性,如下所示:

"fontFace": "Cascadia Mono",
"fontSize": 12,
"fontWeight": "normal"

字体功能

这将为给定字体设置 OpenType 字体功能

属性名称:features(在 font 对象中定义)

必要性: 可选

接受:"string": integer 格式的功能属性

示例:

// Enables ss01 and disables ligatures
"font": {
    "face": "Cascadia Code",
    "features": {
        "ss01": 1,
        "liga": 0
    }
}

字体轴

这将为给定字体设置 OpenType 字体轴

属性名称:axes(在 font 对象中定义)

必要性: 可选

接受:"string": integer 格式的轴属性

示例:

// Sets the font to italic
"font": {
    "face": "Cascadia Code",
    "axes": {
        "ital": 1
    }
}

密集文本格式设置

这控制“密集”文本在终端中设置的格式设置。 “密集”文本是使用转义序列 \x1b[1m 格式化的文本。

属性名称:intenseTextStyle

必要性: 可选

接受:"none""bold""bright""all"

  • "all":以粗体亮色呈现密集文本
  • "bold":以粗体但不用亮色呈现密集文本
  • "bright":以亮色但不用粗体呈现密集文本
  • "none":终端不会对密集文本执行任何特殊操作

默认值:"bright"

怀旧式终端效果

如果设置为 true,则终端将模拟具有扫描线和模糊文本边缘的经典 CRT 显示。 这是一个试验性功能,我们不保证它会持续存在。

如果设置了 experimental.pixelShaderPath,它将替代此设置。

属性名称:experimental.retroTerminalEffect

必要性: 可选

接受:truefalse

默认值:false



游标

光标形状

这将设置配置文件的光标形状。 可能的光标如下:"bar"( ┃ )、"vintage"( ▃ )、"underscore"( ▁ )、"filledBox"( █ )、"emptyBox"( ▯ )、"doubleUnderscore"( ‗ )

属性名称:cursorShape

必要性: 可选

接受:"bar""vintage""underscore""filledBox""emptyBox""doubleUnderscore"

默认值:"bar"

光标高度

这会设置光标的百分数高度(从底部开始)。 只有将 cursorShape 设置为 "vintage" 时,此操作才有效。

属性名称:cursorHeight

必要性: 可选

接受:1-100 的整数



背景图像和图标

通过 Windows 终端,可使用设置 UI 菜单或 settings.json 文件为每个命令行配置文件指定自定义背景图像和图标,从而可以单独配置每个配置文件或设置其品牌/样式。 为此,请指定首选 backgroundImage,使用 backgroundImageAlignment 定位它,使用 backgroundImageOpacity 设置其不透明度,并/或使用 backgroundImageStretchMode 指定图像如何填充可用空间。

例如:

    "backgroundImage": "C:\\Users\\username\\OneDrive\\WindowsTerminal\\bg-ubuntu-256.png",
    "backgroundImageAlignment": "bottomRight",
    "backgroundImageOpacity": 0.1,
    "backgroundImageStretchMode": "none"

可以将图标和图像存储在 OneDrive 中(如上所示),以便在所有计算机中轻松漫游图像和图标集合。

背景图像路径

这将设置要在窗口背景上绘制的图像的文件位置。 背景图像可以是 .jpg、.png 或 .gif 文件。 "desktopWallpaper" 将背景图像设置为桌面壁纸。

属性名称:backgroundImage

必要性: 可选

接受:字符串形式的文件位置或 "desktopWallpaper"

建议将自定义图像和图标存储在系统提供的文件夹中,并使用正确的 URI 方案引用它们。 URI 方案提供了一种独立于文件物理路径的方式来引用文件(物理路径将来可能会更改)。 自定义背景图像和图标时,需要记住的最有用的 URI 方案包括:

URI 方案 相应的物理路径 用途/描述
ms-appdata:///Local/ %localappdata%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\ 每台计算机的文件
ms-appdata:///Roaming/ %localappdata%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState\ 公用文件

警告

请勿依赖使用 ms-appx URI 方案的文件引用(即图标)。 这些文件被视为内部实现详细信息,可能会更改名称/位置,将来还可能被省略。

图标

Windows 终端显示终端为任何内置 shell 生成的每个配置文件的图标,例如:PowerShell Core、PowerShell 和任何已安装的 Linux/WSL 分发版。 每个配置文件都通过 ms-appx URI 方案引用一个库存图标。 可以通过在 settings.json 文件中输入路径来引用自己的自定义图标:

    "icon" : "C:\\Users\\username\\OneDrive\\WindowsTerminal\\icon-ubuntu-32.png",

图标的大小应调整为 32x32px,采用适当的光栅图像格式(例如 .PNG、.GIF 或 .ICO),以免需要在运行时缩放图标(导致明显的延迟和质量损失)。

如果未为已安装的命令行指定任何图标,Windows 终端将默认使用 Segoe Fluent 字体的以下字形:

标志符号 Unicode 码位 说明
Segoe Fluent command line icon e756 CommandPrompt

背景图像拉伸模式

这将设置如何调整背景图像的大小以填充窗口。

属性名称:backgroundImageStretchMode

必要性: 可选

接受:"none""fill""uniform""uniformToFill"

默认值:"uniformToFill"

背景图像对齐

这会设置背景图像与窗口边界对齐的方式。

属性名称:backgroundImageAlignment

必要性: 可选

接受:"center""left""top""right""bottom""topLeft""topRight""bottomLeft""bottomRight"

默认值:"center"

背景图像不透明度

这会设置背景图像的透明度。

属性名称:backgroundImageOpacity

必要性: 可选

接受: 0-1 的浮点值的数字

默认值:1.0



透明度

不透明度

这会设置该配置文件的窗口透明度。 这接受 0-100 的整数值,表示“不透明度百分比”。 100 为“完全不透明”,50 为半透明且,0 为完全透明。

useAcrylic 设置为 true 时,窗口将使用 acrylic 材料为终端创建模糊背景。 当 useAcrylic 设置为 false 时,终端将使用未模糊的不透明度。

属性名称:opacity

必要性: 可选

接受:0-100 的整数值数字

默认值:useAcrylic 为 false 时则为 100useAcrylic 为 true 时则为 50

Windows Terminal acrylic opacity

重要

在 Windows 终端版本 1.12 之前,此设置为 acrylicOpacity,是接受 0.0-1.0 的浮点数(默认值为 0.5),仅当 useAcrylic 设置为 true 时才应用不透明度。 在版本 1.12+ 上,acrylicOpacity 将继续作为等效 opacity 值正常工作。

重要

未模糊的不透明度 ("useAcrylic": false) 仅适用于 Windows 11。

重要

如果在主题设置中启用了 Mica,则当终端的 opacity 设置为 <100 的值时,Mica 将显示在终端内容下方。

启用 acrylic

如果设置为 true,窗口将使用 acrylic 背景。 设置为 false 时,窗口将为普通的、不带纹理的背景。 由于操作系统限制,透明度仅适用于焦点窗口。

属性名称:useAcrylic

必要性: 可选

接受:truefalse

默认值:false

Windows Terminal acrylic



窗口

填充

这会设置窗口内文本周围的边距。 这将接受三种不同的格式:"#"# 为所有边设置相同的边距,"#, #" 为左右和上下设置相同的边距,"#, #, #, #" 为左、上、右和下单独设置边距。

属性名称:padding

必要性: 可选

接受:"#""#, #""#, #, #, #" 格式的字符串值,或 # 整数值

默认值:"8, 8, 8, 8"

Windows Terminal padding

滚动条可见性

这将设置滚动条的可见性。

属性名称:scrollbarState

必要性: 可选

接受:"visible""hidden"(从 1.17 版开始,将包含 "always"



颜色设置

选项卡颜色

这将设置配置文件选项卡的颜色。使用选项卡颜色选取器将替代此颜色。

属性名称:tabColor

必要性: 可选

接受: 以十六进制格式表示的字符串形式的颜色:"#rgb""#rrggbb"

前景色

这会更改配置文件的前景色。 如果设置了 colorScheme,这会替代配色方案中设置的 foreground

属性名称:foreground

必要性: 可选

接受: 以十六进制格式表示的字符串形式的颜色:"#rgb""#rrggbb"

背景色

这将使用此设置更改配置文件的背景色。 如果设置了 colorScheme,这将替代配色方案中设置的 background

属性名称:background

必要性: 可选

接受: 以十六进制格式表示的字符串形式的颜色:"#rgb""#rrggbb"

所选内容的背景色

这将设置配置文件中所选内容的背景色。 如果设置了 colorScheme,这将替代配色方案中设置的 selectionBackground

属性名称:selectionBackground

必要性: 可选

接受: 以十六进制格式表示的字符串形式的颜色:"#rgb""#rrggbb"

调整不可区分的颜色

此设置根据背景色调整前景色,增加其可见度。 设置为 always 时,始终都会调整颜色。 设置为 indexed 时,则仅在这些颜色是配色方案的一部分时才进行调整。 设置为 never 时,始终都不会调整颜色。

属性名称:adjustIndistinguishableColors

必要性: 可选

接受:alwaysindexednever

光标颜色

这将设置配置文件的光标颜色。 如果设置了 colorScheme,这将替代配色方案中设置的 cursorColor

属性名称:cursorColor

必要性: 可选

接受: 以十六进制格式表示的字符串形式的颜色:"#rgb""#rrggbb"



不带焦点的外观设置

可添加到配置文件对象,当配置文件失去焦点时,该对象将设置应用于该配置文件。 此设置仅接受外观设置。

属性名称:unfocusedAppearance

必要性: 可选

接受:backgroundImagebackgroundImageAlignmentbackgroundImageOpacitybackgroundImageStretchModecursorHeightcursorShapecursorColorcolorSchemeforegroundbackgroundselectionBackgroundexperimental.retroTerminalEffectexperimental.pixelShaderPath

示例:

// Sets the profile's background image opacity to 0.3 when it is unfocused
"unfocusedAppearance":
{
    "backgroundImageOpacity": 0.3
},


像素着色器效果

此设置允许用户指定要用于终端内容的自定义像素着色器的路径。 这是一个试验性功能,我们不保证它会持续存在。 有关为终端创作自定义像素着色器的详细信息,请参阅此文档

若已设置,这将替代 experimental.retroTerminalEffect 设置。

属性名称:experimental.pixelShaderPath

必要性: 可选

接受:字符串形式的 .hlsl 着色器文件路径