第50章 Zed 编辑器:外观与视觉自定义指南
定制 Zed 的视觉外观,使其符合你的偏好。本指南涵盖主题、字体、图标及其他视觉设置。
有关设置系统的工作机制,请参阅所有设置。
5 分钟定制 Zed
以下是让 Zed 更具个人化的方法:
-
选择主题:按下 {#kb theme_selector::Toggle} 打开主题选择器。使用方向键预览主题,按下 Enter 应用。
-
快速切换明暗模式:按下 {#kb theme::ToggleMode}。如果当前使用的是静态的
"theme": "..."值,第一次切换会将其转换为带有默认主题的动态模式设置。 -
选择图标主题:在命令面板中运行 {#action icon_theme_selector::Toggle} 浏览图标主题。
-
设置字体:使用 {#kb zed::OpenSettings} 打开设置编辑器,搜索
buffer_font_family。将其设置为你偏好的编程字体。 -
调整字体大小:在同一设置编辑器中,搜索
buffer_font_size和ui_font_size以调整编辑器和界面文本大小。
就这样。你现在已经拥有了个性化的 Zed 配置。
主题
从扩展页面({#action zed::Extensions})安装主题,然后通过主题选择器({#kb theme_selector::Toggle})在它们之间切换。
Zed 支持为明暗模式设置独立主题,并根据系统偏好自动切换:
{
"theme": {
"mode": "system",
"light": "One Light",
"dark": "One Dark"
}
}
你还可以覆盖特定的主题属性,以进行细粒度的控制。
→ 主题文档
图标主题
定制项目面板和标签页中的文件和文件夹图标。通过图标主题选择器(命令面板中的 {#action icon_theme_selector::Toggle})浏览可用的图标主题。
与颜色主题一样,图标主题也支持明暗两种变体:
{
"icon_theme": {
"mode": "system",
"light": "Zed (Default)",
"dark": "Zed (Default)"
}
}
字体
Zed 通过三种字体设置及其回退选项,适配不同使用场景:
| 设置项 | 用途 |
|---|---|
buffer_font_family |
编辑器文本 |
buffer_font_fallbacks |
编辑器文本 |
ui_font_family |
界面元素 |
ui_font_fallbacks |
界面元素 |
terminal.font_family |
终端 |
terminal.font_fallbacks |
终端 |
配置示例:
{
"buffer_font_family": "JetBrains Mono",
"buffer_font_fallbacks": ["Nerd Font"],
"buffer_font_size": 14,
"ui_font_family": "Inter",
"ui_font_fallbacks": ["Nerd Font"],
"ui_font_size": 16,
"terminal": {
"font_family": "JetBrains Mono",
"font_fallbacks": ["Nerd Font"],
"font_size": 14
}
}
字体连字
如需禁用字体连字,可配置:
{
"buffer_font_features": {
"calt": false
}
}
行高
通过 buffer_line_height 调整行间距:
"comfortable"— 1.618 比例(默认)"standard"— 1.3 比例{ "custom": 1.5 }— 自定义比例
界面元素
Zed 提供丰富的界面元素自定义选项,包括:
- 标签栏 — 显示/隐藏、导航按钮、文件图标、git 状态
- 状态栏 — 语言选择器、光标位置、行尾格式
- 滚动条 — 显示开关、git diff 标记、搜索结果
- Minimap — 代码缩略图显示
- Gutter — 行号、折叠标记、断点
- 面板 — Project Panel、Terminal、Agent Panel 的大小与停靠
→ 所有 UI 元素设置详见Visual Customization 文档
后续内容
主题 - Zed
Zed 内置了多套主题,还有更多主题可以通过扩展获取。
选择主题
通过 Theme Selector 可以查看已安装的主题并实时预览,用命令面板打开它即可,对应动作为 {#action theme_selector::Toggle}(快捷键 {#kb theme_selector::Toggle})。
在主题列表中上下移动会实时切换主题,按回车则会把选中的主题保存到设置文件中。
安装新主题
Zed 的扩展商店里有数百种主题可选,可以通过命令面板执行 {#action zed::Extensions} 打开,也可以访问 Zed 网站。
许多热门主题都已移植到 Zed。如果不知道选哪个,可以逛逛 zed-themes.com,这是一个第三方主题画廊,收录了大量主题的可视化预览。
制作你的主题
你可以使用 Zed 的 Theme Builder,在现有主题基础上设计自己的主题。
这款工具可以精细调整并实时预览 Zed 界面各个区域的效果,然后导出 JSON,用于本地使用,或发布到 Zed 扩展商店。
配置主题
你的主题选择保存在配置文件里。可以通过命令面板执行 {#action zed::OpenSettingsFile}(快捷键 {#kb zed::OpenSettingsFile})打开该文件。 默认情况下,Zed 维护两套主题,分别对应浅色和深色模式。将"dark" 或 "light" 设为固定值即可忽略当前系统主题。
{
"theme": {
"mode": "system",
"light": "One Light",
"dark": "One Dark"
}
}
通过键盘切换主题模式
使用 {#kb theme::ToggleMode} 可在浅色和深色模式间切换。 如果当前设置的是静态主题,例如:{
"theme": "Any Theme"
}
第一次切换会将其转换为动态主题选择模式,并使用默认主题:
{
"theme": {
"mode": "system",
"light": "One Light",
"dark": "One Dark"
}
}
首次切换后,需手动分别设置 light 和 dark 主题。
此后,切换操作只会更新 theme.mode。如果 light 和 dark 设为相同主题,则首次切换可能不会带来可见的界面变化,直到为二者设置不同的值。
主题覆盖
要覆盖主题的某些属性,使用theme_overrides 设置项。该设置可用于配置主题相关的自定义规则。
例如,若想覆盖编辑器背景色,并将注释和文档注释显示为斜体,可在 settings.json 中添加以下内容:
{
"theme_overrides": {
"One Dark": {
"editor.background": "#333",
"syntax": {
"comment": {
"font_style": "italic"
},
"comment.doc": {
"font_style": "italic"
}
},
"accents": [
"#ff0000",
"#ff7f00",
"#ffff00",
"#00ff00",
"#0000ff",
"#8b00ff"
]
}
}
}
有关捕获(如 comment 和 comment.doc)的完整列表,请参阅语言扩展:语法高亮。
要查看可用的主题属性,请查看主题对应的 JSON 文件。 例如,默认的 One Dark 和 One Light 主题对应 assets/themes/one/one.json。
本地主题
将新主题文件放置在 ~/.config/zed/themes 目录(macOS 和 Linux)或 %USERPROFILE%\AppData\Roaming\Zed\themes\(Windows)中,即可在本地存储新主题。
例如,要创建一个名为 my-cool-theme 的新主题,请在该目录下创建名为 my-cool-theme.json 的文件。
下次加载 Zed 时,它就可以出现在主题选择器中。
图标主题
Zed 自带内置图标主题,还可通过扩展安装更多图标主题。
选择图标主题
可通过“图标主题选择器”查看已安装的图标主题并进行预览,使用 {#action icon_theme_selector::Toggle} 从命令面板打开该选择器。
通过上下方向键浏览图标主题列表时会实时切换图标主题,按回车键可将其保存到你的设置文件中。
安装更多图标主题
可通过扩展页面获取更多图标主题,使用 {#action zed::Extensions} 通过命令面板访问,或访问Zed 官网。
配置图标主题
你选择的图标主题保存在设置文件中。 可以通过命令面板执行 {#action zed::OpenSettingsFile}(快捷键为 {#kb zed::OpenSettingsFile})打开设置文件。
和主题一样,Zed 支持为浅色和深色模式分别配置不同的图标主题。
你可以把 mode 设置为 "light" 或 "dark",从而忽略系统当前的显示模式。
{
"icon_theme": {
"mode": "system",
"light": "Light Icon Theme",
"dark": "Dark Icon Theme"
}
}
图标主题开发
视觉定制
Zed 视觉布局的各个方面都可以在设置编辑器({#kb zed::OpenSettings})或设置文件({#kb zed::OpenSettingsFile})中配置。
更多信息及其他非视觉相关设置,请参阅 All Settings。
主题
你可以通过命令面板执行 {#action zed::Extensions},以扩展的形式安装大量主题和图标主题。
使用 {#action theme_selector::Toggle}({#kb theme_selector::Toggle})和 {#action icon_theme_selector::Toggle} 可以预览并切换已安装的主题和图标主题,它们会修改以下设置:
{
"theme": "One Dark",
"icon_theme": "Zed (Default)"
}
如果想为浅色/深色模式使用不同的主题,可以这样设置:
{
"theme": {
"dark": "One Dark",
"light": "One Light",
// 使用模式(深色、浅色)或 "system" 以跟随操作系统的明暗模式(默认)
"mode": "system"
},
"icon_theme": {
"dark": "Zed (Default)",
"light": "Zed (Default)",
// 使用模式(深色、浅色)或 "system" 以跟随操作系统的明暗模式(默认)
"mode": "system"
}
}
字体
// UI 字体。使用 ".SystemUIFont" 可应用默认系统字体(macOS 上为 SF Pro),
// 使用 ".ZedSans" 则应用内置默认字体(当前为 IBM Plex)
"ui_font_family": ".SystemUIFont",
"ui_font_weight": 400, // 字重,CSS 标准单位范围 100-900。
"ui_font_size": 16,
// 缓冲区字体 - 用于编辑器缓冲区
// 使用 ".ZedMono" 应用内置默认等宽字体(当前为 Lilex)
"buffer_font_family": "Berkeley Mono", // 编辑器缓冲区字体名称
"buffer_font_size": 15, // 编辑器缓冲区字体大小
"buffer_font_weight": 400, // 字重,CSS 单位 [100-900]
// 行高 "comfortable" (1.618), "standard" (1.3) 或自定义: `{ "custom": 2 }`
"buffer_line_height": "comfortable",
// 终端字体设置
"terminal": {
"font_family": "",
"font_size": 15,
// 终端行高: comfortable (1.618), standard (1.3) 或 `{ "custom": 2 }`
"line_height": "standard",
},
// 控制代理面板中 Agent 响应的字体族和大小。
// 若未指定,则回退至 UI 字体族和大小。
"agent_ui_font_family": "Inter",
"agent_ui_font_size": 15,
// 控制代理面板消息编辑器
// 和用户消息的字体族和大小。
// 若未指定,字体族回退至缓冲区字体族。
"agent_buffer_font_family": "Berkeley Mono",
// 控制代理面板消息编辑器、用户消息
// 及其他代码片段的字体大小。
"agent_buffer_font_size": 12,
"markdown_preview": {
// 控制 Markdown 预览的字体大小。
// 若未指定,回退至编辑器字体大小。
"font_size": null,
// 控制 Markdown 预览的字体族。
// 若未指定,回退至 UI 字体族。
"font_family": null,
// 控制 Markdown 预览中代码块的字体族。
// 若未指定,回退至编辑器字体族。
"code_font_family": null
}
字形连字
默认情况下,Zed 启用了字体连字,某些相邻的字符会在视觉上合并为一个符号。
例如 => 会显示为 →,!= 会显示为 ≠。这只是视觉上的效果,实际的字符内容不变。
要禁用这一行为,可以使用:
{
"buffer_font_features": {
"calt": false // Disable ligatures
}
}
状态栏
{
// 行指示器显示完整标签还是简写
// - `short`: "2 s, 15 l, 32 c"
// - `long`: "2 selections, 15 lines, 32 characters"
"line_indicator_format": "long"
// 可以单独隐藏状态栏图标:
// "project_panel": {"button": false },
// "outline_panel": {"button": false },
// "collaboration_panel": {"button": false },
// "git_panel": {"button": false },
// "agent": {"button": false },
// "debugger": {"button": false },
// "diagnostics": {"button": false },
// "search": {"button": false },
}
标题栏
// 控制标题栏中显示/隐藏的项目
"title_bar": {
"show_branch_status_icon": false, // 在分支图标上显示 git 状态
"show_branch_name": true, // 显示/隐藏分支名称
"show_worktree_name": true, // 显示/隐藏 worktree 名称
"show_project_items": true, // 显示/隐藏项目主机名和名称
"show_onboarding_banner": true, // 显示/隐藏引导横幅
"show_user_picture": true, // 显示/隐藏用户头像
"show_user_menu": true, // 显示/隐藏应用用户按钮
"show_sign_in": true, // 显示/隐藏登录按钮
"show_menus": false // 显示/隐藏菜单
},
工作区
{
// 强制路径选择器(文件和目录选择器)使用 Zed 内置组件,
// 而非操作系统原生组件(false)。
"use_system_path_prompts": true,
// 强制使用 Zed 内置的确认对话框(“是否保存?”),
// 而非操作系统原生对话框(false)。在 Linux 上此项会被忽略(始终为 false)。
"use_system_prompts": true,
// 当前活动窗格的样式设置。
"active_pane_modifiers": {
// 活动窗格的内边距边框大小,单位为像素。
"border_size": 0.0,
// 非活动窗格的不透明度。0 表示完全透明,1 表示不透明。
"inactive_opacity": 1.0
},
// 底部停靠窗格的布局模式:contained(内含)、full(全宽)、left_aligned(左对齐)、right_aligned(右对齐)
"bottom_dock_layout": "contained",
// 调整停靠窗格大小时,是否同时调整其中所有面板的大小。
// 可以是 "left"、"right" 和 "bottom" 的组合。
"resize_all_panels_in_dock": ["left"]
}
编辑器
// 编辑器中光标是否闪烁。
"cursor_blink": true,
// 默认编辑器的光标形状:bar(竖线)、block(方块)、underline(下划线)、hollow(空心)
"cursor_shape": null,
// 在编辑器中高亮当前行:none(无)、gutter(仅行号栏)、line(当前行)、all(全部)
"current_line_highlight": "all",
// 鼠标光标隐藏时机:never(从不)、on_typing(输入时)、on_typing_and_action(输入及操作时)
"hide_mouse": "on_typing_and_action",
// 是否高亮编辑器中选中文本的所有出现位置。
"selection_highlight": true,
// 可视化显示制表符和空格 (none、all、selection、boundary、trailing)
"show_whitespaces": "selection",
"whitespace_map": { // 当 `show_whitespaces` 启用时,用哪些字符显示
"space": "•",
"tab": "⟶" // 可改用 "→",箭头更短
},
"unnecessary_code_fade": 0.3, // 未使用代码的淡化程度。
// 在私有文件中,隐藏变量值以免直接视觉显示
"redact_private_values": false,
// 自动换行与标尺
"soft_wrap": "none", // none、editor_width、preferred_line_length、bounded
"preferred_line_length": 80, // 自动换行的列位置
"show_wrap_guides": true, // 显示/隐藏换行参考线(垂直标尺)
"wrap_guides": [], // 换行参考线的位置(字符数)
// 行号栏设置
"gutter": {
"line_numbers": true, // 显示/隐藏行号栏中的行号。
"runnables": true, // 显示/隐藏行号栏中的可运行按钮。
"breakpoints": true, // 显示/隐藏行号栏中的断点。
"folds": true, // 显示/隐藏行号栏中的折叠按钮。
"min_line_number_digits": 4 // 为 N 位数字的行号预留空间
},
"relative_line_numbers": "enabled", // 在行号栏中显示相对行号
// 缩进参考线
"indent_guides": {
"enabled": true,
"line_width": 1, // 参考线宽度,单位像素 [1-10]
"active_line_width": 1, // 当前行参考线宽度,单位像素 [1-10]
"coloring": "fixed", // disabled、fixed、indent_aware
"background_coloring": "disabled" // disabled、indent_aware
},
"sticky_scroll": {
"enabled": false // 是否将作用域固定在编辑器顶部。默认禁用。
}
Git Blame
"git": { "inline_blame": { "enabled": true, // 显示/隐藏行内 blame "delay_ms": 0, // 延迟显示时间(毫秒) "location": "inline", // inline、status_bar "min_column": 0, // 行内 blame 显示的最小列位置 "padding": 7, // 代码与行内 blame 之间的间距(em) "show_commit_summary": false // 显示/隐藏提交摘要 }, "hunk_style": "staged_hollow" // staged_hollow、unstaged_hollow }编辑器工具栏
// 编辑器工具栏相关设置 "toolbar": { "breadcrumbs": true, // 是否显示面包屑导航 "quick_actions": true, // 是否显示快捷操作按钮 "selections_menu": true, // 是否显示 Selections 菜单 "agent_review": true, // 是否显示 agent 审查按钮 "code_actions": false // 是否显示代码操作按钮 }编辑器滚动条和 Minimap
// 滚动条相关设置 "scrollbar": { // 编辑器中滚动条的显示时机(auto, system, always, never) "show": "auto", "cursors": true, // 在滚动条中显示光标位置 "git_diff": true, // 在滚动条中显示 Git 差异指示 "search_results": true, // 在滚动条中显示缓冲区搜索结果 "selected_text": true, // 在滚动条中显示选中文本的出现位置 "selected_symbol": true, // 在滚动条中显示选中符号的出现位置 "diagnostics": "all", // 显示诊断信息(none, error, warning, information, all) "axes": { "horizontal": true, // 显示/隐藏水平滚动条 "vertical": true // 显示/隐藏垂直滚动条 } }, // 小地图相关设置 "minimap": { "show": "never", // 显示时机(auto, always, never) "display_in": "active_editor", // 显示位置(active_editor, all_editors) "thumb": "always", // 缩略图显示时机(always, hover) "thumb_border": "left_open", // 缩略图边框样式(left_open, right_open, full, none) "max_width_columns": 80, // 小地图最大宽度 "current_line_highlight": null // 高亮当前行(null, line, gutter) }, // 控制编辑器是否允许滚动到最后一行之外:off, one_page, vertical_scroll_margin "scroll_beyond_last_line": "one_page", // 使用键盘滚动时,光标上方/下方保留的行数 "vertical_scroll_margin": 3, // 使用鼠标滚动时,左右两侧保留的字符数 "horizontal_scroll_margin": 5, // 滚动灵敏度倍率 "scroll_sensitivity": 1.0, // 快速滚动时的灵敏度倍率(滚动时按住 alt 键) "fast_scroll_sensitivity": 4.0,编辑器标签页
// 每个面板的最大标签页数量。未设置则无限制。 "max_tabs": null, // 自定义标签栏外观 "tab_bar": { "show": true, // 显示/隐藏标签栏 "show_nav_history_buttons": true, // 在标签栏显示/隐藏历史按钮 "show_tab_bar_buttons": true // 显示/隐藏按钮(新建、分屏、缩放) }, "tabs": { "git_status": false, // 用颜色表示 Git 状态 "close_position": "right", // 关闭按钮位置(左、右、隐藏) "show_close_button": "hover", // 关闭按钮显示方式(悬停、始终、隐藏) "file_icons": false, // 显示文件类型图标 // 在文件图标中显示诊断信息(off, errors, all)。需要 file_icons=true "show_diagnostics": "off" }状态栏
"status_bar": { // 显示/隐藏显示当前缓冲区语言的按钮。 // 点击该按钮会调出语言选择器。 // 默认值为 true。 "active_language_button": true, // 显示/隐藏显示光标位置的按钮。 // 点击该按钮会调出行列跳转输入框。 // 默认值为 true。 "cursor_position_button": true, // 显示/隐藏显示缓冲区行尾模式的按钮。 // 点击该按钮会调出行尾选择器。 // 默认值为 false。 "line_endings_button": false, // 显示/隐藏显示缓冲区字符编码的按钮。 // 如果设置为 "non_utf8",则仅在非 UTF-8 无 BOM 时隐藏按钮。 // 默认值为 "non_utf8"。 "active_encoding_button": "non_utf8", // 显示/隐藏多击键输入等待期间的倒计时指示器。悬停时暂停超时。 // 除非启用了 which-key 菜单,否则悬停时还会列出可能匹配的绑定。 // 默认值为 true。 "pending_keystrokes_indicator": true }, "global_lsp_settings": { // 显示/隐藏状态栏中的 LSP 按钮。 // LSP 的活动仍会显示。 // 如果 "enable_language_server" 为 false,则不显示按钮。 "button": true },
Multibuffer
{
// multibuffer 中 excerpt 默认展开的行数。
"expand_excerpt_lines": 5,
// multibuffer 中 excerpt 默认提供的上下文行数。
"excerpt_context_lines": 2
}
编辑器补全、代码片段、操作与诊断
"snippet_sort_order": "inline", // 代码片段补全位置:top、inline、bottom、none
"show_completions_on_input": true, // 输入时是否显示补全
"show_completion_documentation": true, // 补全时是否显示文档
"auto_signature_help": false, // 是否在括号内自动显示方法签名
// 是否在插入补全或括号后显示签名帮助。
// 若启用了 `auto_signature_help`,此设置也会被视作已启用。
"show_signature_help_after_edits": false,
// 是否在缓冲区行首显示代码操作按钮。
"inline_code_actions": true,
// 用于过滤编辑器中诊断信息的级别:
"diagnostics_max_severity": null, // off、error、warning、info、hint、null(全部)
// 编辑器中 LSP `textDocument/documentColor` 颜色的渲染方式。
"lsp_document_colors": "inlay", // none、inlay、border、background
// 是否查询并在编辑器中显示 LSP 文档链接。
"lsp_document_links": true,
// 补全菜单何时显示滚动条。
"completion_menu_scrollbar": "never", // auto、system、always、never
// 补全菜单中每个条目如何显示 LSP 项类型(函数、方法、变量等)。
// "symbol" 会显示一个带语法配色、单个字母的徽标。
"completion_menu_item_kind": "off", // off、symbol
// 开启编辑器中括号的着色(可按语言单独配置)
"colorize_brackets": true,
编辑预测(Edit Predictions)
"edit_predictions": {
"mode": "eager" // 自动显示(eager)或按住 Alt 显示(subtle)
},
"show_edit_predictions": true // 在编辑器中显示/隐藏预测
编辑器内联提示(Inlay Hints)
{
"inlay_hints": {
"enabled": false,
// 切换某些类型的提示开/关,默认全部开启
"show_type_hints": true,
"show_parameter_hints": true,
"show_other_hints": true,
// 是否显示内联提示的背景(主题 `hint.background`)
"show_background": false,
// 编辑后等待多少毫秒才请求提示(设为 0 则关闭防抖)
"edit_debounce_ms": 700,
// 滚动后等待多少毫秒才请求提示(设为 0 则关闭防抖)
"scroll_debounce_ms": 50,
// 按下以下修饰键组合时,可切换内联提示的显示/隐藏
"toggle_on_modifiers_press": {
"control": false,
"shift": false,
"alt": false,
"platform": false,
"function": false
}
}
}
File Finder
// File Finder 设置
"file_finder": {
"file_icons": true, // 显示/隐藏文件图标
"modal_max_width": "small", // 弹窗宽度:small、medium、large、xlarge、full
"include_ignored": null // 是否包含 git 忽略文件:true、false、null
},
Project Panel
可以通过 {#action project_panel::ToggleFocus}({#kb project_panel::ToggleFocus})或 {#action pane::RevealInProjectPanel}({#kb pane::RevealInProjectPanel})来显示/隐藏项目面板。
// 项目面板设置
"project_panel": {
"button": true, // 在状态栏中显示/隐藏按钮
"default_width": 240, // 默认面板宽度
"dock": "right", // 停靠位置(左侧、右侧)
"entry_spacing": "comfortable", // 垂直间距(宽松、标准)
"file_icons": true, // 显示/隐藏文件图标
"folder_indicator": "icon", // 目录符号:图标、箭头、两者均显示
"git_status": true, // 指示新增/修改的文件
"indent_size": 20, // 每级缩进的像素数
"auto_reveal_entries": true, // 激活文件缓冲区时,在面板中显示该文件
"auto_fold_dirs": true, // 折叠仅包含单个子目录的目录
"bold_folder_labels": false, // 使用粗体显示文件夹名称
"sticky_scroll": true, // 将父目录固定在项目面板顶部
"drag_and_drop": true, // 是否启用拖放功能
"scrollbar": { // 项目面板滚动条设置
"show": null // 显示/隐藏模式:(自动、跟随系统、始终、从不)
},
"show_diagnostics": "all", //
// 与项目面板中缩进参考线相关的设置。
"indent_guides": {
// 何时在项目面板中显示缩进参考线。(始终、从不)
"show": "always"
},
// 条目排序方式(目录优先、混合、文件优先)
"sort_mode": "directories_first",
// 是否区分大小写对文件和文件夹名称进行排序。
// "default":不区分大小写的自然排序,平局时小写优先。
// "upper":大写名称分组在前,组内自然排序。
// "lower":小写名称分组在前,组内自然排序。
// "unicode":纯 Unicode 码点比较,不处理大小写折叠。
"sort_order": "default",
// 当窗口中仅打开一个文件夹时,是否隐藏根条目;
// 这也会影响文件查找历史中文件路径的显示方式。
"hide_root": false,
// 是否隐藏项目面板中的隐藏条目。
"hide_hidden": false
}
Agent Panel(智能助手面板)
{
"agent": {
"enabled": true, // 启用/禁用智能助手
"button": true, // 显示/隐藏状态栏中的图标
"dock": "right", // 停靠位置:left、right、bottom
"default_width": 640, // 默认宽度(左右停靠时)
"default_height": 320 // 默认高度(底部停靠时)
},
// 控制 agent 面板中智能助手回复内容的字体和字号,
// 未指定时回退到 UI 字体和字号。
"agent_ui_font_family": "Inter",
"agent_ui_font_size": 15,
// 控制 agent 面板中消息编辑器和用户消息的字体和字号,
// 未指定时字体回退到缓冲区字体。
"agent_buffer_font_family": "Berkeley Mono",
"agent_buffer_font_size": 12
}
更多与视觉无关的 AI 设置,请参阅 Zed AI 文档。
Terminal Panel(终端面板)
// 终端面板设置
"terminal": {
"dock": "bottom", // 停靠位置:左、右、底部
"button": true, // 显示/隐藏状态栏图标
"default_width": 640, // 默认宽度(停靠于左右侧时)
"default_height": 320, // 默认高度(停靠于底部时)
// 设置终端光标闪烁行为(on, off, terminal_controlled)
"blinking": "terminal_controlled",
// 终端默认光标形状(block, bar, underline, hollow)
"cursor_shape": "block",
// 添加至终端进程环境的环境变量
"env": {
// "KEY": "value"
},
// 终端滚动条
"scrollbar": {
"show": null // 显示/隐藏:(auto, system, always, never)
},
// 终端字体设置
"font_family": "Fira Code",
"font_size": 15,
"font_weight": 400,
// 终端行高:comfortable (1.618)、standard (1.3) 或 `{ "custom": 2 }`
"line_height": "comfortable",
"max_scroll_history_lines": 10000, // 回滚历史(0=禁用,最大=100000)
}
有关其他非视觉自定义选项,请参阅 终端设置。
其他面板
// Git 面板
"git_panel": {
"button": true, // 显示/隐藏状态栏图标
"dock": "left", // 停靠位置:左侧、右侧
"default_width": 360, // Git 面板的默认宽度。
"status_style": "icon", // label_color、icon
"sort_by": "path", // path、name
"group_by": "status", // none、status、staging
"scrollbar": {
"show": null // 显示/隐藏:(auto, system, always, never)
}
},
// 调试器面板
"debugger": {
"dock": "bottom", // 停靠位置:左侧、右侧、底部
"button": true // 显示/隐藏状态栏图标
},
// 大纲面板
"outline_panel": {
"button": true, // 显示/隐藏状态栏图标
"default_width": 300, // 大纲面板的默认宽度
"dock": "left", // 停靠位置:左侧、右侧
"file_icons": true, // 显示/隐藏文件图标
"folder_indicator": "icon", // 目录图标:icon、chevron、both
"git_status": true, // 显示 Git 状态
"indent_size": 20, // 嵌套项的缩进量(像素)
"indent_guides": {
"show": "always" // 显示缩进参考线(always、never)
},
"auto_reveal_entries": true, // 激活缓冲区时,在面板中显示对应文件
"auto_fold_dirs": true, // 折叠仅包含单个子目录的目录
"scrollbar": { // 项目面板滚动条设置
"show": null // 显示/隐藏:(auto, system, always, never)
},
"multi_buffer_hide_symbols": false // 在多缓冲区视图中隐藏符号(仅显示文件)
}
协作面板
{
// 协作面板
"collaboration_panel": {
"button": true, // 显示/隐藏状态栏图标
"dock": "left", // 停靠位置:left、right
"default_width": 240 // 协作面板的默认宽度
},
"show_call_status_icon": true // 在操作系统状态栏中显示通话状态
}