下面列出的设置分别影响每个配置文件的视觉设置。 如果希望将某个设置应用于所有配置文件,可以将其添加到 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
必要性: 可选
接受:字符串形式的配色方案名称,或具有 light 和 dark 属性的对象
默认值:"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+ 中可用。 在该版本之前,应分别使用 fontFace、fontSize 和 fontWeight 属性,如下所示:
"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
必要性: 可选
接受:true、false
默认值: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 终端 1.24 开始, backgroundImage 可能引用文件 settings.json 旁边的内容。
图标
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 码位 | 说明 |
|---|---|---|
|
|
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 的整数值数字
默认值:100
重要
在 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 时,窗口将为普通的、不带纹理的背景。 根据全局设置,当设置为 true 时,透明度适用于未聚焦的窗口和聚焦的窗口;而当设置为 false 时,仅适用于聚焦的窗口。
属性名称:useAcrylic
必要性: 可选
接受:true、false
默认值:false
窗口
填充
这会设置窗口内文本周围的边距。 这将接受三种不同的格式:"#" 和 # 为所有边设置相同的边距,"#, #" 为左右和上下设置相同的边距,"#, #, #, #" 为左、上、右和下单独设置边距。
属性名称:padding
必要性: 可选
接受:"#"、"#, #"、"#, #, #, #" 格式的字符串值,或 # 整数值
默认值:"8, 8, 8, 8"
滚动条可见性
这将设置滚动条的可见性。
属性名称:scrollbarState
必要性: 可选
接受:"visible", "hidden"(从版本 1.17 开始, "always" 将包含)
颜色设置
选项卡颜色
这将设置配置文件选项卡的颜色。使用选项卡颜色选取器将替代此颜色。
属性名称:tabColor
必要性: 可选
接受: 以十六进制格式表示的字符串形式的颜色:"#rgb" 或 "#rrggbb"
前景色
这会更改配置文件的前景色。 如果设置了 foreground,这会替代配色方案中设置的 colorScheme。
属性名称:foreground
必要性: 可选
接受: 以十六进制格式表示的字符串形式的颜色:"#rgb" 或 "#rrggbb"
背景色
这将使用此设置更改配置文件的背景色。 如果设置了 background,这会替代配色方案中设置的 colorScheme。
属性名称:background
必要性: 可选
接受: 以十六进制格式表示的字符串形式的颜色:"#rgb" 或 "#rrggbb"
所选内容的背景色
这将设置配置文件中所选内容的背景色。 如果设置了 selectionBackground,这将替代配色方案中设置的 colorScheme。
属性名称:selectionBackground
必要性: 可选
接受: 以十六进制格式表示的字符串形式的颜色:"#rgb" 或 "#rrggbb"
调整不可区分的颜色
此设置根据背景色调整前景色,增加其可见度。 设置为 always 时,始终都会调整颜色。 设置为 indexed 时,则仅在这些颜色是配色方案的一部分时才进行调整。 设置为 never 时,始终都不会调整颜色。
属性名称:adjustIndistinguishableColors
必要性: 可选
接受:always、indexed、never
光标颜色
这将设置配置文件的光标颜色。 如果设置了 cursorColor,这将替代配色方案中设置的 colorScheme。
属性名称:cursorColor
必要性: 可选
接受: 以十六进制格式表示的字符串形式的颜色:"#rgb" 或 "#rrggbb"
不带焦点的外观设置
可添加到配置文件对象,当配置文件失去焦点时,该对象将设置应用于该配置文件。 此设置仅接受外观设置。
属性名称:unfocusedAppearance
必要性: 可选
接受:、、backgroundImage、backgroundImageAlignment、backgroundImageOpacitybackgroundImageStretchMode、cursorHeightcursorShapecursorColorcolorSchemeforegroundbackgroundopacityselectionBackground、 useAcrylicexperimental.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 着色器文件路径
通过一个附加设置experimental.pixelShaderImagePath,可以指定要与着色器一起加载的图像文件。 它将在纹理寄存器 t1中提供。
属性名称:experimental.pixelShaderImagePath
必要性: 可选
接受: 图像文件的路径,作为字符串
注释
从 Windows Terminal 1.24 开始,experimental.pixelShaderPath 和 experimental.pixelShaderImagePath 可能指向与 settings.json 文件相邻的内容。