設定 Zed

Zed 的設計理念是可以自由設定:我們希望它能完全符合您的工作流程和偏好。我們提供了預設設定,旨在為盡可能多的人提供一個舒適的起點,但我們也希望您能享受調整 Zed 以使其達到最佳狀態的過程。

除了這裡描述的設定之外,您可能還想變更您的佈景主題、設定您的按鍵綁定、設定任務或安裝擴充功能

設定檔

您可以使用 cmd-, (macOS) 或 ctrl-, (Linux) 開啟您的設定檔。預設情況下,它位於 ~/.config/zed/settings.json,但如果您在 Linux 環境中設定了 XDG_CONFIG_HOME,則它將位於 $XDG_CONFIG_HOME/zed/settings.json

此設定將與您專案中的任何本地設定合併。您可以從命令面板執行 zed: Open Local Settings 來開啟專案設定。這將建立一個包含 .zed/settings.json.zed 目錄。

雖然大多數專案只需要在根目錄下有一個設定檔,但您可以根據需要為子目錄新增更多本地設定檔。並非所有設定都可以在本地檔案中設定,只能設定那些影響編輯器和語言工具行為的設定。例如,您可以設定 tab_sizeformatter 等,但不能設定 themevim_mode 等。

設定檔的語法是 JSON 的超集,允許使用 // 註解。

預設設定

您可以從命令面板執行 zed: Open Default Settings 來尋找您目前 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 整合的設定。需要安裝 direnvdirenv 整合目前僅表示可以使用 direnv 設定所設定的環境變數來偵測 $PATH 中的一些語言伺服器,而無需安裝它們。
  • 設定:load_direnv
  • 預設值
"load_direnv": "shell_hook"

選項 有兩個選項可供選擇

  1. shell_hook:使用 shell hook 來載入 direnv。這依賴於 direnv 在進入目錄時自動啟用。支援 POSIX shell 和 fish。
  2. direct:使用 direnv export json 來載入 direnv。這將直接載入 direnv,而不依賴於 shell hook,可能會導致一些不一致。這允許 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 責怪

  • 說明:是否在目前焦點行上內嵌顯示 Git 責怪資訊(需要 Zed 0.132.0)。
  • 設定:inline_blame
  • 預設值
{
  "git": {
    "inline_blame": {
      "enabled": true
    }
  }
}

選項

  1. 停用內嵌 Git 責怪
{
  "git": {
    "inline_blame": {
      "enabled": false
    }
  }
}
  1. 僅在延遲後顯示內嵌 Git 責怪(延遲在游標停止移動後開始)
{
  "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"
}

語言

  • 說明:特定語言的設定。
  • 設定:languages
  • 預設值:null

選項

若要覆寫語言的設定,請將該語言名稱的項目新增至 languages 值。範例

"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. 全部
  2. 選取範圍
  3. 邊界

軟換行

  • 說明:是否自動換行以符合編輯器/偏好的寬度。
  • 設定: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

選項

請參閱緩衝區字型功能

選項作為 Meta 鍵

  • 說明:重新解譯選項鍵以像 Emacs 中的「Meta」鍵一樣運作。
  • 設定: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 動作以查看有效的佈景主題名稱清單。

明亮

  • 說明:用於 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
  • 預設值:以像素為單位的 N/A 寬度(例如: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"
    }
  }
}