Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

使用外部文字編輯器

本頁說明如何使用外部文字編輯器進行程式開發。

備註

若要使用外部編輯器編寫 C# 程式碼,請參閱 設定外部編輯器的 C# 指南

Godot 可與外部編輯器一起使用,如 Sublime Text 或 Visual Studio Code。欲啟用外部文字編輯器,請於 編輯器 -> 編輯器設定 --> Text Editor(文字編輯器) -> External(外部) 瀏覽對應的編輯器設定

文字編輯器 > 編輯器設定的外部部分

編輯器設定中的 文字編輯器 > 外部 部分

該設定有兩個欄位:執行路徑與命令列旗標。旗標可允許將該編輯器與 Godot 整合、傳入欲開啟的檔案、以及其他相關的參數。Godot 會取代旗標中的下列佔位字元:

Exec Flags 中的欄位

會取代為

{project}

專案目錄的絕對路徑

{file}

檔案的絕對路徑

{col}

錯誤的列號

{line}

錯誤的行號

下列為各種編輯器的一些 Exec Flags 範例:

編輯器

執行旗標

Geany/Kate

{file} --line {line} --column {col}

Atom

{file}:{line}

JetBrains Rider

--line {line} {file}

Visual Studio Code

{project} --goto {file}:{line}:{col}

Vim (gVim)

"+call cursor({line}, {col})" {file}

Emacs

"+call cursor({line}, {col})" {file}

Sublime Text/Zed

{project} {file}:{line}:{col}

Visual Studio*

/edit "{file}"

*:無法自動偵測參數,需手動填寫。

自 Godot 4.5 起,以上列出的編輯器(除標註星號者外)會自動偵測 Exec Flags。通常不需從本頁貼上參數即可運作,除非你的編輯器可執行檔名稱無法自動辨識(例如上述編輯器的分支版本)。

備註

對於 Windows 平臺上的 Visual Studio Code,你需要指向 code.cmd 檔案。

Visual Studio 必須指向 code.cmd 檔案。

對於 Visual Studio,您必須手動開啟解決方案檔案 .sln 以存取 IDE 功能。此外,它將不會跳到特定行。

自動重新載入您的變更

若要讓 Godot 編輯器自動重新載入任何由外部文字編輯器變更過的腳本,請啟用 編輯器 > 編輯器設定 > 文字編輯器 > 行為 > 外部變更時自動重新載入腳本

使用外部文字編輯器

在除錯器中使用外部編輯器由設定中的單獨選項決定。更多細節詳見 腳本編輯器除錯工具及選項

官方 Git 外掛

以下程式碼編輯器有官方外掛程式:

LSP/DAP 支援

Godot 支援用於程式碼補齊的 語言伺服器協定 (LSP),以及用於除錯的 除錯轉接器協定 (DAP)。您可以查看 LSP 用戶端列表DAP 用戶端列表 以了解您的編輯器是否支援它們。如果是這樣,您應該能夠無需自訂外掛程式即可利用這些功能。

若要使用這些協定,必須有一個 Godot 實例正在您的目前專案上執行。您接著應該設定您的編輯器,以與 Godot 中正在執行的轉接器連接埠通訊,預設 LSP6005DAP6006。您可以在 編輯器設定 中,分別位於 網路 > 語言伺服器網路 > 除錯轉接器 區段下,變更這些連接埠及其他設定。

以下是一些針對特定編輯器的設定步驟:

Visual Studio Code

您需要安裝官方的 Visual Studio Code 外掛程式

對於 LSP,請依照 這些指示 以變更預設的 LSP 連接埠。連線狀態可以在狀態列上查看:

../../_images/lsp_vscode_status.png

對於 DAP,請在您的 launch.json 檔案中指定 debugServer 屬性:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "GDScript Godot",
            "type": "godot",
            "request": "launch",
            "project": "${workspaceFolder}",
            "port": 6007,
            "debugServer": 6006,
        }
    ]
}

Emacs

請查看官方指示以設定 LSP,以及 DAP