godot embed external editor
GDExtension,允許將外部程式碼編輯器(例如 Visual Studio Code)直接嵌入到您的 Godot 編輯器中!
快速入門指南

特徵
- 自動附加和分離外部程式碼編輯器。
- 盡可能檢查程式碼編輯器是否與給定項目相關(例如,專案資料夾在其中開啟)。
- 場景標籤欄中的切換按鈕可手動附加和分離外部程式碼編輯器。
- 支援的外部編輯器:
快速入門
- 確保
- 你正在使用Godot 4。
- 你在Windows上。
- 在Godot的編輯器設定中,「單視窗模式」被停用(否則對話方塊將不會出現在程式碼編輯器前面)。
- 在 Godot 的編輯器設定中,外部程式碼編輯器已啟用並正確設定(在 Godot 的檔案總管中雙擊腳本檔案應開啟您選擇的編輯器)。
- 您按照您選擇的編輯器的設定說明進行操作。
- 下載並提取最新的建置工件或從原始程式碼進行編譯。
- 將
addons
資料夾複製到您的遊戲專案資料夾中。 - 如果 Godot 正在運行,請務必選擇「專案 -> 重新載入目前專案」或重新啟動編輯器(GDExtensions 不會即時重新加載,請參閱此問題)。
- 在項目設定中啟用該外掛程式。
- 透過雙擊 Godot 資源管理器中的腳本檔案來開啟程式碼編輯器(此外掛程式不會嵌入不相關的程式碼編輯器) - 它應該在啟動後不久消失。
- 切換到“腳本”選項卡並享受吧!
每個編輯器設定
視覺工作室程式碼
以下設定變更可以在使用者設定 (Ctrl+逗號) 中完成,也可以針對每個工作區資料夾進行:
- 將
window.titleBarStyle
設定為native
。否則,標題列無法隱藏,編輯器視窗的大小將獨立於其容器而調整。 - 確保設定
window.title
和window.titleSeparator
使用其預設值。如果您已修改,請按照以下說明進行操作:-
window.title
設定必須包含字串Visual Studio Code
和目前開啟的資料夾${rootName}
的名稱。這是為了讓插件檢測實例是否開啟了專案所必需的。 - 同樣,
window.titleSeparator
需要前導和尾隨空格才能正常運作。
如果您喜歡使用 Visual Studio Code 作為沒有 IDE 功能的純文字編輯器,請考慮使用 Zen 模式:
- 將
zenMode.centerLayout
設定為false
並將zenMode.fullScreen
設定為false
。 - 透過執行指令
View: Toggle Zen Mode
啟用 Zen 模式。
限制
這個插件是非常實驗性和hacky的。我正在嘗試改進它,但有些事情無法輕易解決:
一般的
- Godot 在偵測外部腳本檔案變更時仍然存在問題(請參閱此問題)。
- 解決方法:使用「Project -> Reload Current Project」重新啟動編輯器。
- 在不分離編輯器的情況下無法在編輯器中檢視文件。
- 解決方法:您可以使用 VSCode 的「列出本機類別」選項作為替代方法。
- 過去偶爾會出現凍結現象,我曾嘗試修復。如果他們仍然存在,請提出一個問題。
- 解決方法:如果出現凍結情況,大多數情況下 Alt+Tab 似乎可以修復該問題。
- 取消停靠後,編輯器的標題列不顯示。
- 嵌入視窗可以獲得本機視窗邊框並且有時可以調整大小(例如,當偵錯器中斷時)。
- 鍵盤輸入僅被焦點所在的視窗接受(例如,F5 運行遊戲)。
- Godot 不會自動切換到腳本標籤。
- 場景標籤的懸停縮圖不會顯示在嵌入式程式碼編輯器前面。
視覺工作室程式碼
- 在本 PR 完成並合併之前,不可能透過 VSCode 調試 Godot 遊戲。
- 很少情況下,VSCode 頂部會出現一條黑色條帶,它會抵消所有輸入事件
- 解決方法:重新啟動 VSCode 來修復此問題(遺憾的是,甚至「重新載入視窗」命令也無法解決此問題)。
貢獻
除了我個人的用例之外,我不打算在這個專案上工作,所以我非常感謝其他人的幫助來改進這個擴充功能:
- 支援其他作業系統,如 Mac 或 Linux。
- 支援更多編輯器,包括有關如何設定它們的文件。
- 修復可用性問題和錯誤。
為想法、回饋或錯誤創建問題。如果您實施了某些內容,請開啟拉取請求。感謝所有幫助! :)
如果您想表達感謝,那麼您可以向 GitHub 贊助商捐款。