设置详解
这一章解决什么问题
帮助你全面理解 Zed 的配置体系,掌握 settings.json 的编辑方法,配置出适合自己的编辑环境。
资料来源
- Zed 官方文档 - Configuring Zed
- Zed 默认设置 — 命令面板
open default settings - Zed 设置示例 — 社区配置分享
你会在什么时候用到它
- 第一次配置 Zed 时
- 想调整字体、主题、缩进等设置时
- 需要为特定语言配置不同行为时
打开设置
方式一:命令面板
Ctrl+Shift+P → open settings
方式二:快捷键
Ctrl+,(与 VS Code 相同)
设置编辑界面
Zed 提供两种设置编辑方式:
- Settings UI:图形化界面,适合查找和修改常用设置
- settings.json:直接编辑 JSON 文件,适合高级配置
推荐使用 JSON
settings.json 功能更全面,而且配置可以备份和分享。本教程主要介绍 JSON 配置方式。
查看默认设置
Ctrl+Shift+P → open default settings
这会打开默认配置,你可以查看所有可用的配置项(只读)。
settings.json 结构
settings.json 是一个 JSON 文件,按层级组织配置:
json
{
// 顶层:全局设置
"theme": "One Dark",
"ui_font_size": 16,
"buffer_font_size": 14,
// 面板位置
"project_panel": {
"dock": "left",
"default_width": 240
},
"git_panel": {
"dock": "right"
},
// 终端配置
"terminal": {
"shell": "system",
"working_directory": "current_project_directory"
},
// 语言特定设置
"languages": {
"JavaScript": {
"tab_size": 2
},
"Python": {
"tab_size": 4
}
}
}配置文件位置
| 平台 | 路径 |
|---|---|
| Windows | %LOCALAPPDATA%\\Zed\\settings.json |
快速打开配置文件:
powershell
# PowerShell
notepad "$env:LOCALAPPDATA\Zed\settings.json"核心设置项
主题设置
json
{
"theme": {
"mode": "system",
"light": "One Light",
"dark": "One Dark"
}
}"mode":"system"跟随系统,"light"强制亮色,"dark"强制暗色"light"/"dark": 指定使用的主题名
字体设置
json
{
"ui_font_family": ".SystemUIFont",
"ui_font_size": 16,
"buffer_font_family": "Cascadia Code",
"buffer_font_size": 14,
"buffer_font_features": {
"calt": true,
"liga": true
}
}| 设置 | 说明 |
|---|---|
ui_font_family | 界面字体(文件树、面板等) |
ui_font_size | 界面字体大小 |
buffer_font_family | 编辑器字体 |
buffer_font_size | 编辑器字体大小 |
buffer_font_features | 字体特性(连字等) |
Windows 字体推荐
- 代码字体:
Cascadia Code、Fira Code、JetBrains Mono - 中文字体:
.SystemUIFont会自动使用系统默认字体,通常能正确显示中文 - 等宽字体:确保使用等宽字体,代码对齐才正确
缩进设置
json
{
"hard_tabs": false,
"tab_size": 2,
"show_whitespaces": "selection"
}| 设置 | 选项 | 说明 |
|---|---|---|
hard_tabs | true / false | 使用 Tab 字符还是空格 |
tab_size | 数字 | Tab 显示宽度 |
show_whitespaces | "all" / "selection" / "none" | 是否显示空白字符 |
项目一致性
缩进风格应该与项目保持一致。如果项目使用 2 空格,你也应该用 2 空格。推荐使用 EditorConfig 统一管理。
自动保存
json
{
"autosave": {
"after_delay": {
"milliseconds": 1000
}
}
}选项:
"off"— 关闭"after_delay"— 延迟保存(需指定毫秒数)"on_focus_change"— 焦点离开编辑器时"on_window_change"— 窗口失焦时
格式化
json
{
"format_on_save": "on",
"formatter": "language_server"
}format_on_save:"on"保存时格式化,"off"不格式化formatter:"language_server"使用语言服务器,"prettier"使用 Prettier
换行符
json
{
"line_ending": "\n"
}选项:
"\n"— LF(Unix 风格,推荐)"\r\n"— CRLF(Windows 风格)"auto"— 自动检测
面板位置配置
各面板可以配置停靠位置:
json
{
"project_panel": {
"dock": "left",
"default_width": 240
},
"outline_panel": {
"dock": "right"
},
"collaboration_panel": {
"dock": "left"
},
"git_panel": {
"dock": "right",
"default_width": 300
},
"agent": {
"dock": "right"
},
"terminal": {
"dock": "bottom"
}
}"dock" 选项:"left"、"right"、"bottom"
语言特定设置
为不同编程语言配置不同行为:
json
{
"languages": {
"JavaScript": {
"tab_size": 2,
"formatter": {
"external": {
"command": "prettier",
"arguments": ["--stdin-filepath", "{buffer_path}"]
}
}
},
"TypeScript": {
"tab_size": 2,
"format_on_save": "on"
},
"Python": {
"tab_size": 4,
"hard_tabs": false,
"formatter": {
"external": {
"command": "black",
"arguments": ["-"]
}
}
},
"Rust": {
"tab_size": 4,
"hard_tabs": false
},
"Markdown": {
"soft_wrap": "editor_width",
"tab_size": 2
}
}
}Git 相关设置
json
{
"git": {
"git_gutter": "tracked_files",
"inline_blame": {
"enabled": true,
"delay_ms": 500
},
"hunk_style": "staged_hollow"
},
"git_panel": {
"tree_view": true,
"status_style": "icon",
"default_width": 300
}
}| 设置 | 说明 |
|---|---|
git_gutter | 行号旁显示 Git 改动标记 |
inline_blame | 行尾显示 Git blame 信息 |
hunk_style | Diff hunk 的显示样式 |
tree_view | Git 面板按树形结构显示 |
完整配置模板
参见 参考 - 配置模板。
本章小结
Ctrl+,打开设置- 配置在 settings.json 中,JSON 格式
- 核心配置:主题、字体、缩进、自动保存、格式化
- 可以为不同语言设置不同配置
- 各面板位置可以自定义
小练习
- 打开 settings.json,修改编辑器字体大小
- 设置自动保存为
"after_delay": 1500 - 为你常用的语言添加特定配置
- 调整 Git 面板的位置和宽度