Skip to content

Godot 內建 KonadoScript 編輯器

啟用 Konado 外掛後,在檔案系統面板中雙擊 .ks 檔案,會像開啟 .gd 檔案一樣進入 Godot 的腳本工作區。KonadoScript 使用 Godot 原生程式碼編輯器與文件分頁,不再佔用底部 Dock。

編輯功能

  • 使用 Godot 腳本文件分頁同時編輯 .ks.gd 與其他腳本
  • 編輯 .ks 時,左上方的腳本清單會切換為元件/指令樹;首次開啟時元件區與分支區的高度預設為 2:1,標題列右側的滑動開關可展開或收合全部群組,收合後保留最外層分類,選取項目即可插入對應語句;左下方的成員大綱仍用於分支跳轉
  • 「線上文件」會依編輯器語言開啟 2.4 LTSlatest 文件;編輯 .ks 時會隱藏不支援 KonadoScript 的 Godot API 說明搜尋,切換到其他腳本語言後會還原 Godot 原有介面
  • 目前劇本存在語言版本時,「線上文件」右側會顯示語言下拉清單,可在「預設」與已找到的本地化劇本之間直接切換
  • 由 Godot 統一處理復原重做、未儲存狀態、外部修改與關閉確認
  • 直接使用腳本編輯器的尋找取代、跳至行、縮放、書籤與快速鍵
  • 在檔案系統的「新增」選單中直接建立含有效初始內容的 KonadoScript
  • 在成員大綱中顯示 branch 宣告;分支、變數與訊號皆支援前往定義、尋找參照及安全重新命名
  • 按住 Ctrl(macOS 為 Command)點擊背景、演員、角色狀態、動作、BGM、音效、語音、鏡頭設定或 jump 路徑,可直接開啟實際場景、資源或目標 KonadoScript;名稱有多個目標時會顯示選擇清單
  • 將游標停在指令或資源識別碼上,可查看簽名、用途、解析路徑或未解析狀態;只有確實存在目標的內容才會顯示可點擊底線
  • 右鍵選單提供文件或選取範圍格式化、修正建議、前往定義、尋找參照與安全重新命名;跨檔案資源重新命名會先顯示變更預覽
  • 依條件區塊和全螢幕文字區塊自動縮排,並遵循 Godot 的縮排設定
  • 儲存時寫回原始 .ks,並重新整理由資源載入器編譯的執行期 KND_Shot

高亮與補全

KND_KsHighlighter 以 Godot 的 EditorSyntaxHighlighter 實作,並在外掛啟用時註冊到腳本編輯器。高亮與程式碼補全共同讀取 KS_LanguageCatalog,合法關鍵字則以解析器的 KS_Token.KEYWORDS 為準。自動化測試會檢查兩者是否一致。

補全除了指令、子命令與可插入陳述式範本,也會顯示參數簽名,並從專案資源辨識 KonadoScript 路徑、演員、角色狀態、動作、背景、音訊與鏡頭;角色狀態與自訂動作會依目前演員過濾,對話語音補全也能正確處理含空格的引號文字。目前文件中的分支、變數與訊號會即時加入建議。高亮規則只會在首次使用時編譯,每一行也只記錄顏色變化的位置。

預設高亮資源位於:

text
res://addons/konado/editor/ks_editor/highlighter.tres

其他 CodeEdit 也可以直接使用高亮器:

gdscript
set_syntax_highlighter(KND_KsHighlighter.new())

即時診斷

停止輸入一小段時間後,Godot 會透過 KonadoScript 語言橋接層執行詞法、語法與語意分析,但不會產生執行期 KND_Shot。錯誤與警告會顯示在對應原始碼行及腳本編輯器內建的問題面板中,並依 Godot 編輯器語言使用中文或英文。分析器會一次回報多行的獨立錯誤,並檢查多餘參數、錯誤的數值或布林值、無效跳轉路徑、未知資源 ID、遺失目標檔案、演員生命週期與本地化劇本結構;錯誤輸入不會使即時分析停滯。

將游標停在錯誤範圍上會顯示寬高隨內容調整的診斷卡片。每條診斷最多提供三個依可能性排序的「嘗試」方案;需要使用者判斷的選項不會被「套用全部安全快速修正」自動選擇。無法自動修正的問題會提供資源設定或文件入口。每次修正都是一次可復原操作,並保留游標、選取範圍、多游標、摺疊與捲動位置。

按一下問題即可跳至相關位置。即使現有檔案含有語法錯誤,也仍可在腳本編輯器中開啟並修正;儲存後資源載入器會重新執行正式編譯,因此即時診斷不能取代最終載入結果。

執行期除錯

可使用 Godot 斷點控制 KonadoScript 執行。到達斷點時,除錯器會開啟對應 .ks 行,並顯示目前鏡頭、節點、持久變數與暫存變數;除錯頁提供繼續、單步與「在下一行暫停」。發行匯出不會啟用編輯器除錯工作階段。

快速鍵

功能Windows / LinuxmacOS
儲存Ctrl+SCommand+S
關閉目前分頁Ctrl+WCommand+W
尋找Ctrl+FCommand+F
尋找與取代Ctrl+HCommand+Option+F
跳至行Ctrl+LCommand+L

Released under BSD3-Clause License.