程式碼編輯器 ============= JEditor 的核心是一個功能強大的多分頁程式碼編輯器,基於 Qt 的 ``QPlainTextEdit`` 打造, 專為速度、靈活性和流暢的開發體驗而設計。 多分頁編輯 ----------- 透過分頁式介面同時處理多個檔案: - 在不同分頁中開啟多個檔案 - 點擊分頁即可切換 - 可個別關閉分頁 - 支援從檔案系統拖曳檔案到編輯器 - 自動追蹤目前檔案路徑與分頁狀態 檔案操作 --------- .. list-table:: :header-rows: 1 :widths: 30 70 * - 操作 - 說明 * - **新建檔案** (``Ctrl+N``) - 建立一個新的空白檔案 * - **開啟檔案** (``Ctrl+O``) - 開啟現有檔案並載入到分頁中 * - **開啟資料夾** (``Ctrl+K``) - 開啟專案資料夾並在檔案樹中顯示 * - **儲存檔案** (``Ctrl+S``) - 將目前分頁的內容儲存到磁碟 最近開啟的檔案 ^^^^^^^^^^^^^^^ JEditor 會記錄最近開啟的檔案清單,可從 **File** 選單快速存取。 自動儲存 ^^^^^^^^^ JEditor 內建自動儲存功能,定期儲存您的工作: - 每個開啟的檔案都有獨立的背景執行緒負責儲存 - 可設定儲存間隔時間 - 偵測外部檔案變更並處理衝突 - 追蹤檔案修改狀態 語法高亮 --------- JEditor 內建 Python 語法高亮,並透過插件系統支援其他程式語言。 **內建 Python 高亮** 包括: - 關鍵字(``if``、``else``、``for``、``while``、``def``、``class`` 等) - 內建函式(``print``、``len``、``range`` 等) - 字串(單行與多行) - 註解 - 裝飾器 - 數字 - 可透過色彩設定自訂顏色 **透過插件支援更多語言:** 可透過插件系統新增額外的語言支援。預先提供的插件包括: - C(``.c``) - C++(``.cpp``、``.cxx``、``.cc``、``.h``、``.hpp``、``.hxx``) - Go(``.go``) - Java(``.java``) - Rust(``.rs``) 詳情請參閱 :doc:`plugins`。 自動補全 --------- JEditor 整合了 `Jedi `_ 提供智慧型 Python 程式碼補全: - 根據目前程式碼提供上下文感知建議 - 支援虛擬環境(venv)以獲得準確的套件補全 - 在背景執行緒中運行,UI 始終保持回應 - 可設定大小寫敏感度與補全行為 行號顯示 --------- 編輯器在左側的行號區域顯示行號: - 行號隨文件變更動態更新 - 可自訂行號文字與背景顏色 - 目前行號會以高亮方式顯示,方便快速識別 目前行高亮 ----------- 游標所在行會以特殊背景色高亮顯示,方便識別目前的編輯位置。 高亮顏色可透過色彩設定自訂。 檔案樹 -------- 開啟資料夾(``Ctrl+K``)後,JEditor 會在左側顯示檔案樹: - 瀏覽專案的完整目錄結構 - 點擊任意檔案即可在新分頁中開啟 - 支援展開與收合目錄 - 大型專案可捲動瀏覽 編碼支援 --------- JEditor 支援多種檔案編碼: - **UTF-8**(預設) - **GBK** - **Latin-1** - 開啟檔案時自動偵測編碼 - 可從 **File > Encoding** 選單為個別檔案選擇編碼 - 儲存時保留檔案原有編碼 搜尋與取代 ----------- JEditor 提供強大的搜尋與取代功能: **檔案內搜尋:** - 在目前檔案內搜尋 - 區分大小寫與不區分大小寫選項 - 支援正規表達式(regex) **全專案搜尋:** - 跨已開啟資料夾中所有檔案搜尋 - 結果以表格顯示,包含檔案路徑與行號 - 點擊結果即可直接跳轉到匹配位置 - 在背景執行緒中運行,適用於大型程式碼庫 **取代:** - 取代單一匹配或一次取代全部 - 支援與搜尋相同的選項(大小寫、正規表達式)