Lantide Data

SQL 編輯器與分頁

5. SQL 編輯器與分頁

5.1 建立 / 關閉 / 重新命名分頁

  • 新增分頁: 點擊分頁列最右側的 按鈕。
  • 關閉分頁: 點擊分頁上的 按鈕。關閉時,系統會根據分頁類型和是否有未儲存的修改,提示你選擇「儲存後關閉」或「捨棄變更後關閉」。
  • 重新命名: 雙擊分頁標題,或右鍵選擇「Rename」。
  • 關閉其他分頁: 右鍵選擇「Close Others」,可關閉同一工作區內的其他所有分頁。
  • 開到對照視窗:持久(Persist)SQL 分頁右鍵,選擇 Open in compare view,可將該分頁開到獨立 Compare view 唯讀對照(臨時分頁不支援)。詳見 §11.10
  • 調整開啟順序: 當同一工作區有 2 個以上開啟分頁時,可在 分頁列上拖曳分頁標題,或在分頁列左側 清單按鈕(☰) 彈出的分頁清單中上下拖曳,調整左到右的顯示順序。兩處永遠反映同一份順序。
  • 僅限目前工作區的開啟分頁: 排序只影響編輯器中的 open tabs,不會改變側邊欄 Persist 列表的磁碟順序,也不會在重新啟動 App 後保留(僅當次 session)。

Agent 關閉分頁: Agent 執行的「關閉分頁」僅關閉編輯器中的分頁,不會從側邊欄工作區列表刪除持久(Persist)分頁;你仍可從側邊欄重新開啟。

分頁列橫向捲動: 當開啟的分頁數量超出分頁列寬度時,分頁列支援橫向捲動:

  • 將滑鼠移到分頁列上方時,會出現超細(2px)的水平捲動條提示。
  • 滑鼠滾輪可直接在分頁列上進行水平捲動,快速切換到看不見的分頁。
  • 觸控板的橫向滑動手勢維持原生行為,不受影響。

5.2 臨時分頁 vs. 持久分頁

Lantide Data 有兩種分頁類型:

類型 說明 標記
臨時分頁(Temp) 新建立的分頁,SQL 尚未儲存至伺服器 無特殊標記
持久分頁(Persist) 已儲存的分頁,SQL 會保存在工作區中,重新開啟應用程式後仍然存在 分頁標題旁有 p 標記

臨時分頁在關閉後即消失;持久分頁會出現在側邊欄的工作區列表中,可隨時重新開啟。Agent 建立持久分頁後,側邊欄列表會即時更新。側欄 Persist 列表僅含 SQL 持久分頁(不含 agent 物化產生的 markdown 快取 tab)。

未儲存的修改會在分頁標題旁顯示 * 號。使用者手動編輯才會觸發 *;Agent 透過工具寫入 SQL 或 Markdown 分頁時,內容已落盤至工作區,不會顯示未儲存標記。

5.3 撰寫與執行 SQL

在編輯器中撰寫 SQL 語句後,有兩種執行方式:

  • 執行全部: 當沒有選取任何文字時,點擊 Run 或按快捷鍵,會執行編輯器中的全部 SQL。
  • 執行選取: 先用滑鼠選取部分 SQL 文字,再點擊 Run 或按快捷鍵,只會執行選取的部分。

查詢執行中時,同一顆按鈕會變為 「Running…」(方塊圖示),可再點一次以送出自訂中斷,向後端請求中止該次查詢。成功中止後結果不視為一般的 SQL Query Error(也不會因此顯示紅色錯誤區塊);你隨時可再次 Run 重新執行。

SQL/Markdown 原始碼/Quick Edit HTML 使用本機內建的 Monaco 編輯器(不依賴外網 CDN),離線亦可語法高亮。打包版在少數環境下語言服務(如智慧建議)可能受限,不影響基本編輯與執行。

提示: Lantide Data 僅支援唯讀查詢SELECTDESCRIBESHOWPRAGMA),不支援 INSERTUPDATEDELETECREATE 等寫入操作。

5.4 儲存分頁

  • 點擊工具列的 Save 按鈕,或按下 Cmd + S(macOS)/ Ctrl + S(Windows/Linux)。
  • 如果是臨時分頁首次儲存,系統會彈出對話框,請你填寫 Name(必填)、可選 LabelProject,確認後分頁轉為持久分頁。
  • 持久分頁儲存時會直接更新已有的儲存記錄(SQL 內容);Name / Label / Project 請用 Metadata 對話框編輯(見 §5.6)。

注意: 分頁名稱不能與已載入的資料檔案名稱重複,以避免 SQL 查詢時產生混淆。

5.5 常用快捷鍵一覽

快捷鍵 功能
Shift + Enter 執行查詢
Cmd/Ctrl + Enter 執行查詢
Cmd/Ctrl + S 儲存分頁
Cmd/Ctrl + / 切換行註解

[圖片] 分頁列:顯示臨時分頁、持久分頁(含 p 標記)與未儲存標記(*

5.6 持久分頁中繼資料(Metadata)

持久 SQL 分頁除 SQL 正文外,可維護下列中繼資料(供側欄辨識、Agent list_sql_tab 發現與依專案篩選):

欄位 說明
Name 分頁識別名稱(Tab bar 與側欄主列文字;重新命名請用 Tab bar 雙擊/右鍵 Rename
Label 可選說明(≤200 字元),例如 pipeline 階段用途;Agent 列舉 tab 時一併回傳
Project 可選專案歸屬;聚焦專案下 Agent 執行 Plan 時可 list_sql_tab(project_id=…) 複用既有 tab

編輯入口:

  • Tab bar:對 持久 SQL 分頁右鍵 → Metadata
  • 側欄:對工作區 Persist 列表中的分頁右鍵 → Metadata

首次將臨時分頁存成持久分頁時,儲存對話框已包含上述欄位。舊版未歸屬專案的 tab 仍可在列表中出現;Agent 必要時可 include_unscoped=true 一併列出。

側欄分組與歸檔

Workspace 節點下的 persist SQL tab 按專案分組顯示(無專案歸屬者歸入 Unscoped,排在最後);沒有任何 SQL tab 的專案不會出現組頭。組頭顯示專案名稱與該組 tab 總數(含已歸檔)

  • 展開/收合: 一般組頭可折疊(非 Focus 組預設收合,展開狀態會記住)。有 Project Focus 時,對應組排前且預設展開(可手動收合;再次進入 Focus 時會再預設展開)。Tabs 搜尋命中時,有命中的組與 Archived tabs 子段亦強制展開。
  • Archive/Unarchive: 對 active 列 hover 或右鍵可歸檔(軟藏至該組 Archived tabs);已歸檔列可還原。多選後右鍵可批次 Archive/Unarchive。歸檔不會關閉已開啟的編輯器分頁,也不會刪除 Plan Progress Steps。
  • Delete: 仍為永久移除(含確認);與 Archive 不同。
  • 拖曳排序: 僅限同一組內的 active(未歸檔)列;搜尋開啟時停用拖曳。
  • 搜尋(Tabs scope): 可命中已歸檔 tab;維持分組,並自動展開有命中的組/Archived 子段。
  • Agent 的 list_sql_tab 會回傳含 archived 狀態的全部匹配 tab(可依 project_id 篩選)。