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
必要性: 可选
接受:字符串形式的配色方案名称,或具有 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"
、、"underscore"
"vintage"
、"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 码位 | 说明 |
---|---|---|
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
时,窗口将为普通的、不带纹理的背景。 根据 Enable Unfocused Acrylic
全局设置,透明度在设置为 true
时适用于非聚焦窗口和聚焦窗口,或者在设置为 false
时仅适用于聚焦窗口。
属性名称:useAcrylic
必要性: 可选
接受:true
、false
默认值:false
窗口
填充
这会设置窗口内文本周围的边距。 这将接受三种不同的格式:"#"
和 #
为所有边设置相同的边距,"#, #"
为左右和上下设置相同的边距,"#, #, #, #"
为左、上、右和下单独设置边距。
属性名称:padding
必要性: 可选
接受:"#"
、"#, #"
、"#, #, #, #"
格式的字符串值,或 #
整数值
默认值:"8, 8, 8, 8"
滚动条可见性
这将设置滚动条的可见性。
属性名称: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
必要性: 可选
接受:always
、indexed
、never
光标颜色
这将设置配置文件的光标颜色。 如果设置了 colorScheme
,这将替代配色方案中设置的 cursorColor
。
属性名称:cursorColor
必要性: 可选
接受: 以十六进制格式表示的字符串形式的颜色:"#rgb"
或 "#rrggbb"
不带焦点的外观设置
可添加到配置文件对象,当配置文件失去焦点时,该对象将设置应用于该配置文件。 此设置仅接受外观设置。
属性名称:unfocusedAppearance
必要性: 可选
接受:、、backgroundImageAlignment
、backgroundImageOpacity
、cursorHeight
backgroundImageStretchMode
、cursorShape
useAcrylic
cursorColor
selectionBackground
opacity
foreground
colorScheme
background
、 experimental.retroTerminalEffect
backgroundImage
experimental.pixelShaderPath
示例:
// Sets the profile's background image opacity to 0.3 when it is unfocused
"unfocusedAppearance":
{
"backgroundImageOpacity": 0.3
},
像素着色器效果
此设置允许用户指定要用于终端内容的自定义像素着色器的路径。 这是一个试验性功能,我们不保证它会持续存在。 有关为终端创作自定义像素着色器的详细信息,请参阅此文档。
若已设置,这将替代 experimental.retroTerminalEffect
设置。
属性名称:experimental.pixelShaderPath
必要性: 可选
接受:字符串形式的 .hlsl
着色器文件路径