vs代码c和x2B的自动连接+;进程启动时的调试器 我对戈多的游戏引擎和使用C++开发的可能性很感兴趣。我已经停止使用gdnative方法,因为它更快、更容易(也让我有可能使用CMake而不是SCons)。我已经安排了基于Cmake的小项目,唯一的区别是我使用了Cmake而不是SCON(gladly godot cpp,它用于生成绑定,与SConstruct一起使用CMakeLists脚本)。我只剩下一个问题,就是没有调试C++和GDScript代码的好方法。对于开发,我使用vs代码(在windows上),目前我找到了3种调试方法: 我可以直接从vs代码启动项目,稍微修改“启动”配置,用--project参数启动godot编辑器。这提供了调试C++的能力,但不是GdScript .< 戈多工具扩展为VS代码,我可以使用最后调试GDScript,但不能使用C++ +./LI> 我可以从编辑器启动项目(这将给我调试GDScript的能力),然后将VS代码调试器附加到运行的进程中调试C++ DLL。这是可行的,但我需要在启动这个过程之后,通过选择正确的过程直接附加vs代码。正因为如此,我错过了初始化时间,它也感觉笨重 最终我想在VS代码中同时调试GDScript和C++ DLL,但我不确定它是否可能。所以,最好是能够从编辑器开始游戏过程,并自动将vs代码连接到它。我尝试搜索“VS代码自动C++调试”之类的东西,但我在网上找不到任何东西。也许我只是在寻找不正确的术语。有人知道这个话题吗

vs代码c和x2B的自动连接+;进程启动时的调试器 我对戈多的游戏引擎和使用C++开发的可能性很感兴趣。我已经停止使用gdnative方法,因为它更快、更容易(也让我有可能使用CMake而不是SCons)。我已经安排了基于Cmake的小项目,唯一的区别是我使用了Cmake而不是SCON(gladly godot cpp,它用于生成绑定,与SConstruct一起使用CMakeLists脚本)。我只剩下一个问题,就是没有调试C++和GDScript代码的好方法。对于开发,我使用vs代码(在windows上),目前我找到了3种调试方法: 我可以直接从vs代码启动项目,稍微修改“启动”配置,用--project参数启动godot编辑器。这提供了调试C++的能力,但不是GdScript .< 戈多工具扩展为VS代码,我可以使用最后调试GDScript,但不能使用C++ +./LI> 我可以从编辑器启动项目(这将给我调试GDScript的能力),然后将VS代码调试器附加到运行的进程中调试C++ DLL。这是可行的,但我需要在启动这个过程之后,通过选择正确的过程直接附加vs代码。正因为如此,我错过了初始化时间,它也感觉笨重 最终我想在VS代码中同时调试GDScript和C++ DLL,但我不确定它是否可能。所以,最好是能够从编辑器开始游戏过程,并自动将vs代码连接到它。我尝试搜索“VS代码自动C++调试”之类的东西,但我在网上找不到任何东西。也许我只是在寻找不正确的术语。有人知道这个话题吗,c++,visual-studio-code,godot,C++,Visual Studio Code,Godot,(我尽量简短地回答我的问题,但我不确定我是否提供了充分的信息,所以请随意提问)如果您是来这里启动自动调试器的,那么tenfour对这个问题的评论可能会对您有所帮助,但因为这个问题的主要原因略有不同(找到同时使用C++和GDcript调试戈多项目的方法),我发现了不同的解决方案,所以如果有人来这里的原因是相同的,我想知道的是:首先,您需要在VSCODEL中正确设置C++项目,这将从戈多CPP项目和您的个人代码编译GDSTATE DLL。(我建议使用CMake来完成所有这一切,正如我所说的godot

(我尽量简短地回答我的问题,但我不确定我是否提供了充分的信息,所以请随意提问)

如果您是来这里启动自动调试器的,那么tenfour对这个问题的评论可能会对您有所帮助,但因为这个问题的主要原因略有不同(找到同时使用C++和GDcript调试戈多项目的方法),我发现了不同的解决方案,所以如果有人来这里的原因是相同的,我想知道的是:首先,您需要在VSCODEL中正确设置C++项目,这将从戈多CPP项目和您的个人代码编译GDSTATE DLL。(我建议使用CMake来完成所有这一切,正如我所说的godot cpp可以与CMake一起工作)。第二:您需要godot工具将其斜切到您的vscode中。在一切正常工作后,dll正在编译,godot project正在使用它,您需要设置下一次启动配置:

{
//这必须在.vscode/launch.json中
“版本”:“0.2.0”,
“配置”:[
{
“名称”:“godot gdscript attach”,
“类型”:“戈多”,
“请求”:“启动”,
“项目”:“${workspaceFolder}/project/”,
“端口”:6007,
“地址”:“127.0.0.1”,
“启动游戏实例”:false,
“发射现场”:错误
},
{
“名称”:“戈多cpp发布”,
“类型”:“cppvsdbg”,
“请求”:“启动”,
“程序”:“${config:godot_tools.editor_path}”,
“args”:[
“--调试”,
“--远程调试”,
"127.0.0.1:6007",
“--路径”,
“\”${workspaceFolder}/project/\”“
],
“stopAtEntry”:false,
“cwd”:“${workspaceFolder}/project/”,
“环境”:[],
“外部控制台”:true
}
],
“化合物”:[
{
“名称”:“戈多发射”,
“配置”:[
“godot gdscript attach”,
“戈多cpp发布”
]
}
]
}
  • godot-gdscript-attach
    启动后将等待godot游戏作为调试目标连接到ip/port=127.0.0.1:6007(即使您启动此配置,并且在从编辑器启动游戏后,此操作也会起作用)
  • godot cpp launch
    将作为
    cppvsdbg
    的调试目标启动您的游戏(据我所知,这是vs debugger)。有关此游戏的更多信息:
    • “程序”:“${config:godot_tools.editor_path}”这可能有助于: