配置 Zed

Zed 旨在进行配置:我们希望完全符合您的工作流程和偏好。我们提供默认设置,旨在为尽可能多的人提供舒适的起点,但我们希望您能享受对其进行调整,让它变得不可思议。

除了此处描述的设置外,您可能还希望更改您的 主题、配置您的 键绑定、设置 任务 或安装 扩展

设置文件

可以使用 cmd-,(在 macOS 上)或 ctrl-,(在 Linux 上)打开您的设置文件。默认情况下,它位于 ~/.config/zed/settings.json,但如果您的 Linux 环境中存在 XDG_CONFIG_HOME,它将位于 $XDG_CONFIG_HOME/zed/settings.json

此配置与项目内的任何本地配置合并。你可以通过从命令面板运行zed: 打开本地设置来打开项目设置。这将创建一个包含.zed/settings.json.zed目录。

尽管大多数项目只会在根目录中需要一个设置文件,但你可以根据需要为子目录添加更多本地设置文件。并非所有设置都可以设置在本地文件中,只有那些影响编辑器和语言工具行为的设置才可以。例如,你可以设置tab_sizeformatter等,但不能设置themevim_mode和类似的设置。

配置文件的语法是允许//注释的 JSON 超集。

默认设置

你可以通过从命令面板运行zed: 打开默认设置来找到当前 Zed 的默认设置。

提供语言服务器的扩展也可以提供这些语言服务器的默认设置。

设置

活动面板放大

  • 说明:缩放活动面板的比例。当设置为1.0时,活动面板与其他面板大小相同,但当设置为一个较大的值时,活动面板将占用更多空间。
  • 设置:active_pane_magnification
  • 默认值:1.0

选项

float

自动保存

  • 说明:自动保存已编辑缓冲区的时间。
  • 设置:autosave
  • 默认值:off

选项

  1. 要禁用自动保存,请将其设置为off
{
  "autosave": "off"
}
  1. 要在焦点改变时自动保存,请使用on_focus_change
{
  "autosave": "on_focus_change"
}
  1. 要在活动窗口改变时自动保存,请使用on_window_change
{
  "autosave": "on_window_change"
}
  1. 要在一段时间不活动后自动保存,请使用after_delay
{
  "autosave": {
    "after_delay": {
      "milliseconds": 1000
    }
  }
}

自动更新

  • 说明:是否自动检查更新。
  • 设置:auto_update
  • 默认值:true

选项

boolean

缓冲区字体系列

  • 说明:用于在编辑器中呈现文本的字体的名称。
  • 设置:buffer_font_family
  • 默认值:Zed Plex Mono

选项

用户系统上安装的任何字体系列的名称

缓冲区字体功能

  • 说明:为编辑器中的文本启用 OpenType 功能。
  • 设置:buffer_font_features
  • 默认值:null

选项

Zed 支持所有可以为给定的缓冲区或终端字体启用或禁用的 OpenType 功能,以及设置字体功能的值。

例如,要禁用字体连字,请在设置中添加以下内容

{
  "buffer_font_features": {
    "calt": false
  }
}

你还可以设置其他 OpenType 功能,例如将cv01设置为7

{
  "buffer_font_features": {
    "cv01": 7
  }
}

缓冲区字体大小

  • 说明:编辑器中文本的默认字体大小。
  • 设置:buffer_font_size
  • 默认值:15

选项

integer

缓冲区字体粗细

  • 说明:编辑器中文本的默认字体粗细。
  • 设置:buffer_font_weight
  • 默认值:400

选项

integer 值介于 100900 之间

缓冲区行高

  • 说明:编辑器中文本的默认行高。
  • 设置:buffer_line_height
  • 默认值:"comfortable"

选项

"standard""comfortable"{"custom": float}1 非常紧凑,2 非常松散)

确认退出

  • 说明:在关闭应用程序之前是否提示用户确认。
  • 设置:confirm_quit
  • 默认值:false

选项

boolean

居中布局

  • 说明:居中布局模式的配置。
  • 设置:centered_layout
  • 默认值
"centered_layout": {
  "left_padding": 0.2,
  "right_padding": 0.2,
}

选项

当激活居中布局模式时,left_paddingright_padding 选项定义了中央窗格从工作区的左右填充的相对宽度。有效值范围为 00.4

Direnv 集成

  • 说明:direnv 集成的设置。需要安装 direnv。目前,direnv 集成仅表示由 direnv 配置设置的环境变量可用于在 $PATH 中检测某些语言服务器,而不是安装它们。
  • 设置:load_direnv
  • 默认值
"load_direnv": "shell_hook"

选项 有两个选项可供选择

  1. shell_hook:使用 shell 钩子加载 direnv。这依赖于 direnv 在进入目录时激活。支持 POSIX shell 和 fish。
  2. direct:使用 direnv export json 加载 direnv。这将直接加载 direnv,而不依赖于 shell 钩子,并且可能会导致一些不一致。这允许 direnv 与任何 shell 配合使用。

内联补全

  • 说明:内联补全的设置。
  • 设置:inline_completions
  • 默认值
"inline_completions": {
  "disabled_globs": [
    ".env"
  ]
}

选项

禁用 glob

  • 说明:表示应禁用内联补全的文件的 glob 列表。
  • 设置:disabled_globs
  • 默认值:[".env"]

选项

string 值列表

当前行高亮

  • 说明:如何在编辑器中高亮显示当前行。
  • 设置:current_line_highlight
  • 默认值:all

选项

  1. 不高亮显示当前行
"current_line_highlight": "none"
  1. 高亮显示行号区域
"current_line_highlight": "gutter"
  1. 高亮显示编辑器区域
"current_line_highlight": "line"
  1. 高亮显示整行
"current_line_highlight": "all"
  • 说明:光标是否闪烁。
  • 设置:cursor_blink
  • 默认值:true

选项

boolean

默认停靠锚点

  • 说明:新停靠点的默认锚点。
  • 设置:default_dock_anchor
  • 默认值:bottom

选项

  1. 将停靠点定位在工作区底部:bottom
  2. 将停靠点定位在工作区右侧,如侧面板:right
  3. 将停靠点定位在整个工作区上全屏:expanded

编辑器滚动条

  • 说明:是否显示编辑器滚动条及其中的各种元素。
  • 设置:scrollbar
  • 默认值
"scrollbar": {
  "show": "auto",
  "cursors": true,
  "git_diff": true,
  "search_results": true,
  "selected_symbol": true,
  "diagnostics": true
},

显示模式

  • 说明:何时显示编辑器滚动条。
  • 设置:show
  • 默认值:auto

选项

  1. 如果有重要信息或遵循系统配置的行为,则显示滚动条
"scrollbar": {
  "show": "auto"
}
  1. 与系统配置的行为匹配
"scrollbar": {
  "show": "system"
}
  1. 始终显示滚动条
"scrollbar": {
  "show": "always"
}
  1. 从不显示滚动条
"scrollbar": {
  "show": "never"
}

光标指示器

  • 说明:是否在滚动条中显示光标位置。
  • 设置:cursors
  • 默认值:true

选项

boolean

Git Diff 指示器

  • 说明:是否在滚动条中显示 git diff 指示器。
  • 设置:git_diff
  • 默认值:true

选项

boolean

搜索结果指示器

  • 说明:是否在滚动条中显示缓冲区搜索结果。
  • 设置:search_results
  • 默认值:true

选项

boolean

选定符号指示器

  • 说明:是否在滚动条中显示选定符号出现。
  • 设置:selected_symbol
  • 默认值:true

选项

boolean

诊断

  • 说明:是否在滚动条中显示诊断指示器。
  • 设置:diagnostics
  • 默认值:true

选项

boolean

编辑器选项卡栏

  • 说明:与编辑器的选项卡栏相关的设置。
  • 设置:tab_bar
  • 默认值
"tab_bar": {
  "show": true,
  "show_nav_history_buttons": true
}

显示

  • 说明:是否在编辑器中显示选项卡栏。
  • 设置:show
  • 默认值:true

选项

boolean

  • 说明:是否显示导航历史记录按钮。
  • 设置:show_nav_history_buttons
  • 默认值:true

选项

boolean

编辑器选项卡

  • 说明:编辑器选项卡的配置。
  • 设置:tabs
  • 默认值
"tabs": {
  "close_position": "right",
  "file_icons": false,
  "git_status": false
},

关闭位置

  • 说明:在选项卡中显示关闭按钮的位置。
  • 设置:close_position
  • 默认:right

选项

  1. 在右侧显示关闭按钮
{
  "close_position": "right"
}
  1. 在左侧显示关闭按钮
{
  "close_position": "left"
}

文件图标

  • 说明:是否为标签显示文件图标。
  • 设置:file_icons
  • 默认值:false

Git 状态

  • 说明:是否在标签中显示 Git 文件状态。
  • 设置:git_status
  • 默认值:false

编辑器工具栏

  • 说明:是否在编辑器工具栏中显示各种元素。
  • 设置:toolbar
  • 默认值
"toolbar": {
  "breadcrumbs": true,
  "quick_actions": true
},

选项

每个选项控制显示特定的工具栏元素。如果所有元素都隐藏,则不会显示编辑器工具栏。

启用语言服务器

  • 说明:是否使用语言服务器提供代码智能。
  • 设置:enable_language_server
  • 默认值:true

选项

boolean

确保最终换行符已保存

  • 说明:是否确保在保存缓冲区时末尾有一个换行符。
  • 设置:ensure_final_newline_on_save
  • 默认值:true

选项

boolean

LSP

  • 说明:语言服务器的配置。
  • 设置:lsp
  • 默认值:null

选项

以下设置可以针对特定语言服务器进行覆盖

  • initialization_options

要覆盖语言的设置,请将该语言服务器名称的条目添加到 lsp 值。示例

"lsp": {
  "rust-analyzer": {
    "initialization_options": {
      "check": {
        "command": "clippy" // rust-analyzer.check.command (default: "check")
      }
    }
  }
}

保存时格式化

  • 说明:是否在保存之前执行缓冲区格式化。
  • 设置:format_on_save
  • 默认:on

选项

  1. on,启用保存时格式化,遵守 formatter 设置
{
  "format_on_save": "on"
}
  1. off,禁用保存时格式化
{
  "format_on_save": "off"
}

格式化程序

  • 说明:如何执行缓冲区格式化。
  • 设置:formatter
  • 默认值:auto

选项

  1. 要使用当前语言服务器,请使用 "language_server"
{
  "formatter": "language_server"
}
  1. 或要使用外部命令,请使用 "external"。指定要运行的格式化程序的名称,以及要传递给程序的参数数组。缓冲区的文本将通过 stdin 传递给程序,格式化的输出应写入 stdout。例如,以下命令将使用 sed(1) 删除尾随空格
{
  "formatter": {
    "external": {
      "command": "sed",
      "arguments": ["-e", "s/ *$//"]
    }
  }
}
  1. 或使用连接的语言服务器提供的代码操作,使用“code_actions”(需要 Zed 0.130.x
{
  "formatter": {
    "code_actions": {
      // Use ESLint's --fix:
      "source.fixAll.eslint": true,
      // Organize imports on save:
      "source.organizeImports": true
    }
  }
}

格式化代码操作

  • 说明:格式化缓冲区时使用主语言服务器执行的代码操作。
  • 设置:code_actions_on_format
  • 默认值:{},除了 Go,它的默认值为 { "source.organizeImports": true }

示例

  1. 在 TypeScript 和 TSX 缓冲区中格式化时整理导入
{
  "languages": {
    "TypeScript": {
      "code_actions_on_format": {
        "source.organizeImports": true
      }
    },
    "TSX": {
      "code_actions_on_format": {
        "source.organizeImports": true
      }
    }
  }
}
  1. 格式化时运行 ESLint fixAll 代码操作(需要 Zed 0.125.0
{
  "languages": {
    "JavaScript": {
      "code_actions_on_format": {
        "source.fixAll.eslint": true
      }
    }
  }
}
  1. 使用 fixAll 时仅运行一个 ESLint 规则(需要 Zed 0.125.0
{
  "languages": {
    "JavaScript": {
      "code_actions_on_format": {
        "source.fixAll.eslint": true
      }
    }
  },
  "lsp": {
    "eslint": {
      "settings": {
        "codeActionOnSave": {
          "rules": ["import/order"]
        }
      }
    }
  }
}

自动关闭

  • 说明:在键入左括号、方括号、大括号、单引号或双引号字符时是否自动添加匹配的结束字符。
  • 设置:use_autoclose
  • 默认值:true

选项

boolean

始终将方括号视为自动关闭

  • 说明:控制编辑器如何处理自动关闭的字符。
  • 设置:always_treat_brackets_as_autoclosed
  • 默认值:false

选项

boolean

示例

如果设置设为 true

  1. 在编辑器中输入:)))
  2. 将光标移动到开头:^)))
  3. 再次输入:)))

结果仍然是 ))),而不是 )))))),这是默认情况下的结果。

文件类型

  • 设置:file_types
  • 说明:配置 Zed 如何根据文件名或扩展名选择文件的语言。支持 glob 条目。
  • 默认值:{}

示例

将所有 .c 文件解释为 C++,将名为 MyLockFile 的文件解释为 TOML,将以 Dockerfile 开头的文件解释为 Dockerfile

{
  "file_types": {
    "C++": ["c"],
    "TOML": ["MyLockFile"],
    "Dockerfile": ["Dockerfile*"]
  }
}

Git

  • 说明:与 git 相关的功能的配置。
  • 设置:git
  • 默认值
{
  "git": {
    "git_gutter": "tracked_files",
    "inline_blame": {
      "enabled": true
    }
  }
}

Git 侧边栏

  • 说明:是否显示 git 侧边栏。
  • 设置:git_gutter
  • 默认值:tracked_files

选项

  1. 在跟踪的文件中显示 git 侧边栏
{
  "git": {
    "git_gutter": "tracked_files"
  }
}
  1. 隐藏 git 侧边栏
{
  "git": {
    "git_gutter": "hide"
  }
}

缩进参考线

  • 说明:与缩进参考线相关的配置(需要 Zed 0.138.0)。可以为每种语言单独配置缩进参考线。
  • 设置:indent_guides
  • 默认值
{
  "indent_guides": {
    "enabled": true,
    "line_width": 1,
    "active_line_width": 1,
    "coloring": "fixed",
    "background_coloring": "disabled"
  }
}

选项

  1. 禁用缩进参考线
{
  "indent_guides": {
    "enabled": false
  }
}
  1. 为特定语言启用缩进参考线。
{
  "languages": {
    "Python": {
      "indent_guides": {
        "enabled": true
      }
    }
  }
}
  1. 启用缩进感知着色(“彩虹缩进”)。用于不同缩进级别的颜色在主题中定义(主题键:accents)。可以通过使用主题覆盖进行自定义。
{
  "indent_guides": {
    "enabled": true,
    "coloring": "indent_aware"
  }
}
  1. 启用缩进感知背景着色(“彩虹缩进”)。用于不同缩进级别的颜色在主题中定义(主题键:accents)。可以通过使用主题覆盖进行自定义。
{
  "indent_guides": {
    "enabled": true,
    "coloring": "indent_aware",
    "background_coloring": "indent_aware"
  }
}

内联 Git Blame

  • 说明:是否在当前聚焦行内显示 git blame 信息(需要 Zed 0.132.0)。
  • 设置:inline_blame
  • 默认值
{
  "git": {
    "inline_blame": {
      "enabled": true
    }
  }
}

选项

  1. 禁用内联 git blame
{
  "git": {
    "inline_blame": {
      "enabled": false
    }
  }
}
  1. 仅在延迟后显示内联 git blame(在光标停止移动后开始)
{
  "git": {
    "inline_blame": {
      "enabled": false,
      "delay_ms": 500
    }
  }
}

硬制表符

  • 说明:是否使用制表符字符或多个空格缩进行。
  • 设置:hard_tabs
  • 默认值:false

选项

boolean

启用悬停弹出窗口

  • 说明:将鼠标悬停在编辑器中的符号上时是否显示信息悬停框。
  • 设置:hover_popover_enabled
  • 默认值:true

选项

boolean

内联提示

  • 说明:在编辑器中显示带有提示的额外文本的配置。
  • 设置:inlay_hints
  • 默认值
"inlay_hints": {
  "enabled": false,
  "show_type_hints": true,
  "show_parameter_hints": true,
  "show_other_hints": true,
  "edit_debounce_ms": 700,
  "scroll_debounce_ms": 50
}

选项

内联提示查询由两部分组成:编辑器(客户端)和 LSP 服务器。使用上述内联设置启用提示后,编辑器将开始查询特定类型的提示,并对来自服务器的 LSP 提示刷新请求做出反应。此时,服务器可能会或可能不会根据其实现返回提示,可能需要进一步配置,请参阅相应的 LSP 服务器文档。

Zed 预先配置了以下语言的内联提示

lsp 部分用于服务器配置。相应的语言文档中提供了示例。

Zed 中不会立即查询提示,使用两种去抖动,都可以设置为 0 以禁用。与设置相关的提示更新不会去抖动。

日志

  • 说明:日志的配置。
  • 设置:journal
  • 默认值
"journal": {
  "path": "~",
  "hour_format": "hour12"
}

路径

  • 说明:存储日志条目的目录的路径。
  • 设置:path
  • 默认值:~

选项

string

小时格式

  • 说明:在日志中显示小时时要使用的格式。
  • 设置:hour_format
  • 默认值:hour12

选项

  1. 12 小时制
{
  "hour_format": "hour12"
}
  1. 24 小时制
{
  "hour_format": "hour24"
}

语言

  • 说明:特定语言的配置。
  • 设置:语言
  • 默认值:null

选项

若要覆盖语言设置,请将该语言名称的条目添加到语言值。示例

"languages": {
  "C": {
    "format_on_save": "off",
    "preferred_line_length": 64,
    "soft_wrap": "preferred_line_length"
  },
  "JSON": {
    "tab_size": 4
  }
}

可以针对每种特定语言覆盖以下设置

  • enable_language_server
  • ensure_final_newline_on_save
  • format_on_save
  • formatter
  • hard_tabs
  • preferred_line_length
  • remove_trailing_whitespace_on_save
  • show_inline_completions
  • show_whitespaces
  • soft_wrap
  • tab_size
  • use_autoclose
  • always_treat_brackets_as_autoclosed

这些值采用与同名根级别设置相同的选项。

预览选项卡

  • 说明:(需要 Zed 0.132.x)

    预览选项卡允许你在预览模式下打开文件,除非你明确固定它们,否则在你切换到另一个文件时它们会自动关闭。这对于快速查看文件而不弄乱你的工作区很有用。预览选项卡以斜体显示其文件名。

    有几种方法可以将预览选项卡转换为常规选项卡

    • 双击文件
    • 双击选项卡标题
    • 使用project_panel::OpenPermanent操作
    • 编辑文件
    • 将文件拖到另一个窗格
  • 设置:preview_tabs

  • 默认值

"preview_tabs": {
  "enabled": true,
  "enable_preview_from_file_finder": false,
  "enable_preview_from_code_navigation": false,
}

从文件查找器启用预览

  • 说明:确定从文件查找器中选择文件时是否在预览模式下打开文件。
  • 设置:enable_preview_from_file_finder
  • 默认值:false

选项

boolean

从代码导航启用预览

  • 说明:确定当使用代码导航从选项卡导航离开时是否替换预览选项卡(需要 Zed 0.134.x)。
  • 设置:enable_preview_from_code_navigation
  • 默认值:false

选项

boolean

首选行长

  • 说明:启用软换行的缓冲区的软换行列。
  • 设置:preferred_line_length
  • 默认值:80

选项

integer

默认情况下在线项目

  • 说明:是否默认显示在线项目视图。
  • 设置:projects_online_by_default
  • 默认值:true

选项

boolean

保存时移除尾随空白

  • 说明:是否在保存缓冲区之前从缓冲区行中移除任何尾随空白。
  • 设置:remove_trailing_whitespace_on_save
  • 默认值:true

选项

boolean

显示呼叫状态图标

  • 说明:是否在状态栏中显示呼叫状态图标。
  • 设置:show_call_status_icon
  • 默认值:true

选项

boolean

输入时显示补全

  • 说明:是否在你键入时显示补全。
  • 设置:show_completions_on_input
  • 默认值:true

选项

boolean

显示补全文档

  • 说明:是否在补全菜单中为项目显示内联文档和并列文档。
  • 设置:show_completion_documentation
  • 默认值:true

选项

boolean

补全文档防抖延迟

  • 描述:在原始补全列表中未包含时,重新查询语言服务器以获取补全文档之前的防抖延迟。
  • 设置:completion_documentation_secondary_query_debounce
  • 默认值:300 毫秒

选项

integer

显示内联补全

  • 描述:在键入时或通过触发 editor::ShowInlineCompletion 手动显示内联补全。
  • 设置:show_inline_completions
  • 默认值:true

选项

boolean

显示空格

  • 描述:是否在编辑器中显示渲染空格字符。
  • 设置:show_whitespaces
  • 默认值:selection

选项

  1. all
  2. selection
  3. none
  4. boundary

软换行

  • 描述:是否自动换行以适应编辑器/首选宽度。
  • 设置:soft_wrap
  • 默认值:prefer_line

选项

  1. none 停止软换行
  2. prefer_line 通常避免换行,除非该行太长
  3. editor_width 换行超出编辑器宽度的行
  4. preferred_line_length 换行超出 preferred_line_length 配置值的行

换行参考线(垂直标尺)

  • 描述:将垂直标尺显示为换行参考线的位置。通过将 show_wrap_guides 设置为 false 来禁用。
  • 设置:wrap_guides
  • 默认值:[]

选项

integer 列号列表

制表符大小

  • 描述:每个制表符字符使用的空格数。
  • 设置:tab_size
  • 默认值:4

选项

integer

遥测

  • 描述:控制 Zed 收集哪些信息。
  • 设置:telemetry
  • 默认值
"telemetry": {
  "diagnostics": true,
  "metrics": true
},

选项

诊断

  • 描述:发送与调试相关的数据的设置,例如崩溃报告。
  • 设置:diagnostics
  • 默认值:true

选项

boolean

指标

  • 描述:发送匿名使用数据的设置,例如你使用 Zed 的语言。
  • 设置:metrics
  • 默认值:true

选项

boolean

终端

  • 描述:终端配置。
  • 设置:terminal
  • 默认值
"terminal": {
  "alternate_scroll": "off",
  "blinking": "terminal_controlled",
  "copy_on_select": false,
  "env": {},
  "font_family": null,
  "font_features": null,
  "font_size": null,
  "option_as_meta": false,
  "button": false,
  "shell": {},
  "toolbar": {
    "title": true
  },
  "working_directory": "current_project_directory"
}

备用滚动

  • 描述:设置备用滚动模式(DECSET 代码:?1007)是否默认处于活动状态。备用滚动模式在备用屏幕(例如运行 vim 或 less 等应用程序时)中将鼠标滚动事件转换为向上/向下按键按下。终端仍可以使用 ANSI 转义码设置和取消设置此模式。
  • 设置:alternate_scroll
  • 默认值:off

选项

  1. 将默认备用滚动模式设为开
{
  "alternate_scroll": "on"
}
  1. 将默认备用滚动模式设为关
{
  "alternate_scroll": "off"
}

闪烁

  • 描述:设置终端中的光标闪烁行为
  • 设置:blinking
  • 默认:terminal_controlled

选项

  1. 从不使光标闪烁,忽略终端模式
{
  "blinking": "off"
}
  1. 默认将光标闪烁设为关,但允许终端开启闪烁
{
  "blinking": "terminal_controlled"
}
  1. 始终使光标闪烁,忽略终端模式
"blinking": "on",

选择时复制

  • 描述:是否在终端中选择文本时自动复制到系统剪贴板。
  • 设置:copy_on_select
  • 默认值:false

选项

boolean

环境

  • 描述:添加到此对象中的任何键值对都将添加到终端的环境中。键必须唯一,使用 : 在单个变量中分隔多个值
  • 设置:env
  • 默认值:{}

示例

"env": {
  "ZED": "1",
  "KEY": "value1:value2"
}

字体大小

  • 描述:终端使用的字体大小。未设置时,默认为与编辑器的字体大小匹配
  • 设置:font_size
  • 默认值:null

选项

integer

字体系列

  • 描述:终端使用的字体。未设置时,默认为与编辑器的字体匹配。
  • 设置:font_family
  • 默认值:null

选项

用户系统上安装的任何字体系列的名称

字体功能

  • 描述:终端使用的字体功能。未设置时,默认为与编辑器的字体功能匹配。
  • 设置:font_features
  • 默认值:null

选项

参见缓冲区字体功能

选项作为元

  • 描述:重新解释选项键以使其像 Emacs 中的“元”键一样起作用。
  • 设置:option_as_meta
  • 默认值:true

选项

boolean

Shell

  • 描述:启动终端时使用的 Shell。
  • 设置:shell
  • 默认:system

选项

  1. 使用系统的默认终端配置(通常是 /etc/passwd 文件)。
{
  "shell": "system"
}
  1. 要启动的程序
"shell": {
    "program": "sh"
}
  1. 带参数的程序
"shell": {
  "with_arguments": {
    "program": "/bin/bash",
    "args": ["--login"]
  }
}

终端工具栏

  • 描述:是否在终端工具栏中显示各种元素。它只影响放置在编辑器窗格中的终端。
  • 设置:toolbar
  • 默认值
"toolbar": {
  "title": true,
},

选项

目前,只有 title 选项可用,它控制通过 PROMPT_COMMAND 更改的终端标题的显示。如果标题被隐藏,则不会显示终端工具栏。

终端按钮

  • 描述:控制在状态栏中显示或隐藏终端按钮
  • 设置:button
  • 默认值:true

选项

boolean

工作目录

  • 描述:启动终端时使用的工作目录。
  • 设置:working_directory
  • 默认:"current_project_directory"

选项

  1. 使用当前文件的项目目录。如果失败,将回退到第一个项目目录策略
{
  "working_directory": "current_project_directory"
}
  1. 使用此工作区目录中的第一个项目。如果失败,将回退到使用此平台的主目录。
{
  "working_directory": "first_project_directory"
}
  1. 始终使用此平台的主目录(如果我们能找到它)
{
  "working_directory": "always_home"
}
  1. 始终使用特定目录。此值将被 shell 展开。如果此路径不是有效目录,则终端将默认为此平台的主目录。
"working_directory": {
  "always": {
    "directory": "~/zed/projects/"
  }
}

主题

  • 说明:主题设置可以两种形式指定 - 作为主题的名称或作为包含 Zed UI 的 modedarklight 主题的对象。
  • 设置:theme
  • 默认值:One Dark

主题对象

  • 说明:使用包含 modedarklight 主题的对象指定主题。
  • 设置:theme
  • 默认值
"theme": {
  "mode": "system",
  "dark": "One Dark",
  "light": "One Light"
},

模式

  • 说明:指定主题模式。
  • 设置:mode
  • 默认:system

选项

  1. 将主题设置为暗模式
{
  "mode": "dark"
}
  1. 将主题设置为亮模式
{
  "mode": "light"
}
  1. 将主题设置为系统模式
{
  "mode": "system"
}

  • 说明:用于 UI 的暗色 Zed 主题的名称。
  • 设置:dark
  • 默认值:One Dark

选项

在命令面板中运行 theme selector: toggle 操作以查看当前有效主题名称的列表。

Light

  • 说明:用于 UI 的亮色 Zed 主题的名称。
  • 设置:light
  • 默认值:One Light

选项

在命令面板中运行 theme selector: toggle 操作以查看当前有效主题名称的列表。

Vim

  • 说明:是否启用 vim 模式(正在进行中)。
  • 设置:vim_mode
  • 默认值:false

项目面板

  • 说明:自定义项目面板
  • 设置:project_panel
  • 默认值
"project_panel": {
  "button": true,
  "dock": "left",
  "git_status": true,
  "default_width": "N/A - width in pixels"
},

停靠

  • 说明:控制停靠位置
  • 设置:dock
  • 默认值:left

选项

  1. 默认停靠位置在左侧
{
  "dock": "left"
}
  1. 默认停靠位置在右侧
{
  "dock": "right"
}

Git 状态

  • 说明:指示新创建和更新的文件
  • 设置:git_status
  • 默认值:true
  1. 默认启用 git 状态
{
  "git_status": true
}
  1. 默认禁用 git 状态
{
  "git_status": false
}

默认宽度

  • 说明:自定义项目面板占用的默认宽度
  • 设置:default_width
  • 默认值:无宽度(以像素为单位,例如:420)

选项

boolean

通话

  • 说明:自定义参与通话时的行为
  • 设置:calls
  • 默认值
"calls": {
  // Join calls with the microphone live by default
  "mute_on_join": false,
  // Share your project when you are the first to join a channel
  "share_on_join": false
},

示例配置

// ~/.config/zed/settings.json
{
  "theme": "cave-light",
  "tab_size": 2,
  "preferred_line_length": 80,
  "soft_wrap": "none",

  "buffer_font_size": 18,
  "buffer_font_family": "Zed Plex Mono",

  "autosave": "on_focus_change",
  "format_on_save": "off",
  "vim_mode": false,
  "projects_online_by_default": true,
  "terminal": {
    "font_family": "FiraCode Nerd Font Mono",
    "blinking": "off"
  },
  "languages": {
    "C": {
      "format_on_save": "language_server",
      "preferred_line_length": 64,
      "soft_wrap": "preferred_line_length"
    }
  }
}