使用外部的文本编辑器

本页面讲述的是如何使用外部文本编辑器编写代码。

备注

要在外部编辑器中编写 C#,请查看为 C# 配置外部编辑器的指南

Godot 可以与 Sublime Text、Visual Studio Code 等外部文本编辑器一起使用。在编辑器中浏览相关设置:编辑器 -> 编辑器设置 -> 文本编辑器 -> 外部

文本编辑器 > 编辑器设置的外部部分

编辑器设置中的 文本编辑器 > 外部 部分

有两个文本字段:可执行文件路径和执行参数(标志)。这些标志允许你将编辑器与 Godot 集成在一起,并向其传递要打开的文件路径和其他相关参数。Godot 将替换参数字符串中的以下占位符:

Exec 标志中的字段

被替换为

{project}

项目目录的绝对路径

{file}

文件的绝对路径

{col}

错误的列号

{line}

错误的行号

一些编辑器的 Exec 标志 示例:

编辑器

Exec 标志

Geany/Kate

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

Atom

{file}:{line}

JetBrains Rider

{project} --line {line} {file}

Visual Studio Code

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

Vim (gVim)

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

Emacs

emacs +{line}:{col} {file}

Sublime Text

{project} {file}:{line}:{column}

Visual Studio

/edit "file"

备注

对于 Windows 平台上的 Visual Studio Code,你需要指向 code.cmd 文件。

对于 Emacs,如果你使用的是服务器模式,那么调用的时候就可以用 emacsclient 代替 emacs

For Visual Studio, you will have to open the solution file .sln manually to get access to the IDE features. Additionally, it will not go to a specific line.

Automatically reloading your changes

To have the Godot Editor automatically reload any script that has been changed by an external text editor, enable Editor > Editor Settings > Text Editor > Behavior > Auto Reload Scripts on External Change.

在调试器中使用外部编辑器

在调试器中使用外部编辑器由设置中的单独选项决定。更多细节详见 脚本编辑器调试工具及选项

官方编辑器插件

以下代码编辑器有官方插件:

LSP/DAP 支持

Godot 支持用于代码补全的语言服务器协议LSP)和用于调试的调试适配器协议DAP)。请查看 LSP 客户端列表DAP 客户端列表,确认你的编辑器是否支持这两个协议。如果支持,那么应该不借助自定义插件就可以利用到对应的功能。

要使用这些协议,必须存在运行当前项目的 Godot 实例。然后,你应该对编辑器进行配置,让它与 Godot 中运行的适配器端口通信,默认的 LSP 端口为 6005DAP端口为 6006。你可以在编辑器设置中修改这些端口和其他设置,对应的部分为网络 > 语言服务器网络 > 调试适配器

以下是特定编辑器的一些配置步骤:

Visual Studio Code

你需要安装官方`Visual Studio Code 插件 <https://github.com/godotengine/godot-vscode-plugin>`_ 。

对于 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

请查看官方说明来配置 LSPDAP.