功能

A breadcrumb trail below the tab bar that shows the path to the current file along with a summary of the containing syntax nodes
標籤列下方顯示當前檔案路徑以及包含語法節點摘要的麵包屑導航

多緩衝區和單例緩衝區的頂部會顯示麵包屑導航,其中包含游標所在檔案的路徑以及包含語法節點的摘要。這在多緩衝區或大型函數中特別有用。


命令列介面

要安裝 zed 命令列工具,請從應用程式選單中選擇 Zed > 安裝命令列介面。然後,您可以在命令列中輸入 zed my-path 以在 Zed 中開啟目錄或檔案。要將 Zed 用作您的 $EDITOR 來編輯 Git 提交等,請將 export EDITOR="zed --wait" 新增到您的 shell 設定檔中。


程式碼動作

每當您在側邊欄看到閃電圖示時,表示語言伺服器針對目前游標位置提供了程式碼動作。您可以點擊閃電圖示或按下 cmd-. 以顯示可用的動作。

影響多個檔案的程式碼動作將在多緩衝區中呈現動作結果。若要撤銷動作,只需在多緩衝區中按下 cmd-z,不過我們尚不支援撤銷檔案系統變更。若要儲存多檔案程式碼動作的結果,只需儲存多緩衝區即可。


協作

新增聯絡人

您可以從協作選單新增聯絡人,方法是從視窗右上角的圖示進行部署,或按下 cmd-shift-c,然後點擊搜尋方塊右側的「新增」按鈕。

如果您嘗試與尚未開始使用 Zed 的人協作,請讓他們下載 Zed 並登入,然後您就可以新增他們。

分享專案

您會在協作選單中看到所有線上聯絡人。搜尋或點擊他們將會發送請求以開始通話並與他們分享您目前的專案。他們將會收到加入您通話的通知。

這將會開啟一個包含他們專案的新視窗。當您加入通話後,您的 Zed 視窗將會在右上角的圖示旁邊顯示通話參與者。灰色顯示的參與者表示在通話中,但目前正在查看不同的專案。非灰色顯示的參與者與您在同一個專案中。

尚未與通話分享的專案將會顯示一個分享按鈕,讓其他人可以加入您的專案。

我們的目標是盡可能消除本地專案和遠端專案之間的區別。訪客可以開啟、編輯和儲存檔案、執行搜尋、與語言伺服器互動等等。

追蹤協作者

當您加入專案時,您將會立即開始追蹤主機在檔案內和檔案之間的移動。這會以編輯器周圍的框線表示。

每當您移動游標或進行編輯時,您就會自動停止追蹤。若要再次開始追蹤,您可以點擊協作者的大頭貼,或按下 ctrl-alt-cmd-f 以循環追蹤不同的參與者。

追蹤僅限於特定窗格。當窗格正在追蹤協作者時,它會以其游標顏色顯示輪廓。這種特定於窗格的行為允許您在一個窗格中追蹤某人,同時在另一個窗格中獨立導航,並且對於某些協作樣式來說,這可能是一種有效的佈局。

您可以透過協作選單切換專案,該選單會顯示目前的參與者以及他們可能正在分享的任何專案。

螢幕分享

有時您在協作時必須超越程式碼,例如查看網站或圖紙。Zed 的內建螢幕分享功能讓您可以輕鬆地分享您的螢幕,而無需額外的工具。點擊右上角的「分享螢幕」按鈕即可分享您的螢幕。

開始分享螢幕後,通話中的其他參與者就可以看到您螢幕上的所有內容。這對協作、疑難排解或僅與他人分享資訊很有幫助。

在分享螢幕時,請務必小心,避免意外洩露個人資訊、密碼或機密資訊。

目前,Zed 僅支援分享您的整個螢幕。


命令面板

The Zed Command palette, a modal palette use to navigate the editor's commands using text input.
Zed 命令面板是一個模態面板,用於使用文字輸入導航編輯器的命令。

如果要記住一個預設按鍵綁定,那就是 cmd-shift-p。這會部署命令面板,它是 Zed 提供的許多其他功能的閘道,也是學習按鍵綁定的便捷工具。

可用的命令取決於焦點所在的位置。例如,如果您將焦點放在專案面板上,您將會在命令面板中看到 project panel: add file,但如果編輯器處於焦點狀態,則不會看到該命令。


診斷

緩衝區診斷

當您完美但不完美地將錯誤或警告引入程式碼時,您會看到它以波浪形底線標示。如果您將游標放在帶底線的文字中,您會在狀態列中看到錯誤的第一行。

A buffer diagnostic showing an error on hover. The cursor position diagnostics can also be seen in the status bar.
緩衝區診斷在滑鼠懸停時顯示錯誤。游標位置診斷也可以在狀態列中看到。

如需更多詳細資訊,您可以按下 f8 展開錯誤。您可以使用 f8 循環瀏覽當前緩衝區中的所有錯誤,並使用 shift-f8 向後循環。修正錯誤後,您會看到它變成灰色,此時您可以按下 escape 將其關閉。

專案範圍診斷

Zed 在工作區左下角的狀態列中顯示整個專案中存在的錯誤和警告數量。如果您點擊此指示器或按下 cmd-shift-M,您將會開啟專案診斷多緩衝區。

此多緩衝區包含專案中每個錯誤的摘錄,並且其內容將會隨著您修正錯誤和儲存而更新。有時,語言伺服器會針對同一段程式碼報告多個錯誤。

我們選擇忠於編譯器的輸出,並針對每個錯誤顯示摘錄,即使這表示您有時會看到一個檔案中重疊部分的多個摘錄。

與任何多緩衝區一樣,您可以透過按下 alt-enter 跳轉到普通單例緩衝區中游標的位置。不要忘記,您可以在修正後使用 ctrl-- 導航回多緩衝區。


停靠區

有一個特殊的窗格稱為停靠區,可以在保留其內容的同時開啟和關閉。

可以使用 shift-escape 來取得和關閉它。預設情況下,它會開啟一個終端機,但可以將任何編輯器或標籤拖曳到其中。

停靠區可以透過其窗格右上角的停靠區錨點選單或相關的按鍵綁定,錨定在右側、底部和作為模態。

常見的停靠區用例

  • 易於取得的持久終端機
  • 用於文件頁面或相關原始程式碼檔案的快速參考資訊
  • 診斷頁面的位置

如果停靠區中的項目透過按鍵綁定(例如透過 cmd-shift-m 的診斷項目)獲得焦點,則會顯示並聚焦停靠區,使其便於使用這些全域單例標籤。


編輯

語法編輯

要根據語法樹摺疊和展開程式碼,請按下 cmd-alt-{cmd-alt-}

要根據語法樹放大和縮小選取範圍,請按下 alt-upalt-down

要跳轉到最近的括號或其對應的括號,請按下 ctrl-m

多游標編輯

您可以透過滑鼠使用 alt 鍵點擊/拖曳來建立多個游標/選取範圍。

要在當前選取範圍的上方或下方新增選取範圍,請按下 alt-cmd-upalt-cmd-down

要選取游標下的文字,然後選取下一個相符的文字片段,請按下 cmd-d。要跳過一個文字,請按下 cmd-d 選取它,然後按下 cmd-k cmd-d 選取下一個。若要取消選取,請按下 cmd-u


檔案搜尋器

The file finder modal, used to open files in the current project.
檔案搜尋器模態視窗,用於開啟目前專案中的檔案。

要按路徑模糊搜尋專案中的所有檔案,請使用檔案搜尋器,您可以使用 cmd-p 切換它。


語言伺服器

當您第一次以特定語言開啟檔案時,如果支援該語言,Zed 將會下載並啟動適當的語言伺服器。Rust 仍然是我們短期內的首要重點,但 Zed 目前對以下語言提供硬編碼的語言伺服器支援:

將 Zed 與任意語言伺服器連接的功能正在積極開發中。


多緩衝區

A multibuffer, containing editable excerpts from multiple different files in a single tab.
多緩衝區,在單一標籤中包含來自多個不同檔案的可編輯摘錄。

多重緩衝區的編輯方式與一般緩衝區非常相似,但它們包含來自多個不同檔案的可編輯摘錄。它們在 Zed 中以多種方式使用。在專案搜尋的情況下,您會看到一個摘錄,其中包含每個匹配項周圍的幾行上下文。

多重緩衝區允許您執行跨越多個檔案的多游標編輯。當您儲存多重緩衝區時,每個摘錄的檔案都會被儲存。

要跳轉到摘錄檔案專用緩衝區中游標的位置,請按 alt-enter。如果您有多個游標,則會為每個游標的位置打開一個分頁。


程式碼導航

您可以使用 f12cmd 點擊符號來跳轉到游標下的符號定義。

一旦您跳轉到定義或執行任何非本地導航,您就可以使用導航歷史記錄使用 ctrl-- 向後導航,並使用 ctrl-shift-_ 向前導航。導航歷史記錄有意限制在每個窗格內,因此在向前和向後導航時,我們永遠不會將您的焦點切換到另一個窗格。

尋找所有參考

要查找游標下符號的所有參考,請按 alt-shift-f12。參考將顯示在多重緩衝區中,其中包含每次出現的摘錄,類似於專案範圍搜尋的工作方式。

要使用語言伺服器在專案中搜尋符號,請按 cmd-t

緩衝區導航

Zed's find in buffer. Searching for "HirDatabase" inside of the open lib.rs buffer.
Zed 的緩衝區內搜尋。在打開的 lib.rs 緩衝區內搜尋「HirDatabase」。

有幾種導航方式。您可以使用 cmd-f 搜尋緩衝區,或使用 cmd-shift-f 在可編輯的多重緩衝區中打開專案的所有結果。

您可以通過使用 cmd-shift-o 打開大綱視圖來快速查找當前檔案中的定義。您也可以使用 ctrl-g 跳轉到特定行。


大綱視圖

Zed's outline view open on top of a editor.
Zed 的大綱視圖打開在編輯器上方。

在緩衝區內導航的最有效方法是 Zed 的大綱視圖。當您在編輯器獲得焦點的情況下按 cmd-shift-O 時,Zed 會根據語法樹顯示檔案摘要。這在幾個方面很有用。

這可能是了解檔案佈局的好方法,在瀏覽程式碼或決定在哪裡插入新定義時會有所幫助。當您第一次打開大綱視圖時,Zed 總是突出顯示最接近您在檔案中當前位置的條目。

您也可以使用它通過模糊搜尋快速跳轉到檔案中的命名定義。檔案順序將被保留,但會自動選擇與您的查詢最匹配的項目。

一個很酷的隱藏功能是,當您的查詢包含_空格_時,我們會擴展搜尋範圍以匹配上下文關鍵字。因此,在 Rust 中,您可以輸入 select 來搜尋名稱與 select 一詞匹配的任何定義。但您可以輸入 pub fn select 來搜尋與 select 一詞匹配的所有公共方法或函數。您也可以輸入 pub fn 來僅查看所有公共函數,或輸入 struct 來查看所有結構定義。


專案瀏覽器

The project browser panel, a panel on the left side of that app that contains a tree view for each folder added to the project.
專案瀏覽器面板,位於應用程式左側的面板,其中包含添加到專案的每個資料夾的樹狀視圖。

專案瀏覽器是左側的面板,它以目錄樹的形式顯示專案的內容。您可以使用 cmd-shift-e 在專案瀏覽器中切換焦點。您可以使用 cmd-b 切換其可見性。它也可以使用工作空間左下角的檔案樹圖標進行切換。

每個 Zed 視窗都對應一個專案,您可以將多個資料夾甚至單個檔案添加到一個專案中。專案範圍內的交互作用適用於您添加的所有資料夾。

目前,專案不是永久性的。關閉視窗後,您的專案就會消失。


使用 cmd-shift-f 搜尋整個專案。這將彈出一個專用分頁來搜尋和顯示您的結果。您可以使您的搜尋區分大小寫、基於正則表達式,並僅應用於整個單詞。我們尚不支持將搜尋範圍限制在特定路徑。

要創建多個專案搜尋,請使用 cmd-enter 而不是 enter 確認您的搜尋查詢。這將在另一個分頁中打開此新搜尋的結果,並保留舊的結果分頁。

Zed's project-wide search, a dedicated multi-buffer pane to show search results across the entire project.
Zed 的專案範圍搜尋,一個專用的多重緩衝區窗格,用於顯示整個專案的搜尋結果。

搜尋結果顯示在多重緩衝區中,這是 Zed 的獨特功能之一。


重命名重構

要執行重命名重構,請將游標放在要重命名的符號上,然後按 f2

如果重命名影響多個檔案,您將在多重緩衝區中看到結果。


拆分窗格

Two buffers split across two panes.
兩個緩衝區拆分為兩個窗格。

要拆分窗格,請按 cmd-k,然後按您要拆分的方向箭頭鍵。因此,要向右拆分當前分頁,請按 cmd-k right。要在不同窗格之間循環切換焦點,請按 cmd-k cmd-right 向前循環,或按 cmd-k cmd-left 向後循環。

您可以通過將分隔線向左或向右拖動來調整窗格的大小。雙擊分隔線將重置拆分,在窗格之間平均分配空間。


整合式終端機

Zed 附帶了一個整合式終端機模擬器,它使用 Alacritty 作為其後端。

您可以使用 ctrl-` 或點擊分頁列右側的 + 圖標打開終端機。

終端機也可以在任何可以放置緩衝區分頁的地方創建和使用。


主題

Zed 附帶了许多常见的编辑器主题。主题将继续添加和改进。

将来,用户将能够创建、下载和加载外部主题。有关详细信息,请参阅 主题 - 文档

选择主题

要切换选择主题,请按 cmd-k cmd-t。我们目前不支持用户定义的主题,但我们已尝试包含一些不错的默认选项。

The theme picker palette. Using the change theme shortcut, (cmd-k, cmd-t) summons a palette allowing you to choose a theme from a list.
主题选择器调色板。使用更改主题快捷键 (cmd-k, cmd-t) 会调出一个调色板,允许您从列表中选择主题。

Vim

Vim 模式正在开发中

Vim 模式体验的基本部分仍然缺失。我们将继续开发它,并在我们认为它可以全天候使用时发布公告。

启用 Vim 模式

您可以通过在您的 settings.json 中添加 vim_mode: true 来启用 Vim 模式。

有关设置的更多信息,请参阅 配置 Zed

请报告您在使用 Vim 模式时遇到的问题。

Vim 模式质量

我们希望我们的 Vim 键绑定是标准的。为了确保 Vim 绑定的质量,我们目前正在针对 Neovim 本身测试 Zed 的 Vim 模式输出。

其他参考