【问题标题】:How does Unreal Engine communicate with Visual Studio 2015?虚幻引擎如何与 Visual Studio 2015 通信?
【发布时间】:2016-09-28 17:26:50
【问题描述】:

虚幻引擎如何在 Visual Studio 中触发构建,即使它在单独的进程中运行?

我认为它能够创建文件并重新加载项目,甚至可以在特定行打开文件!

是否可以从另一个应用程序控制 VS?我似乎找不到任何有关 VS 允许的套接字或任何其他 IPC 机制的信息。

【问题讨论】:

    标签: visual-studio-2015 ipc unreal-engine4


    【解决方案1】:

    关于 UE4

    它不与 Visual Studio 进程通信。以下是在您描述的情况下会发生的情况:

    1. 建筑。如果您的意思是即时重新编译您的项目。这就是发生的事情:

      [2016.09.28-08.51.49:868][298]Launching UnrealBuildTool... [D:/_UE4/4.12.5_from_source/Engine/Binaries/DotNET/UnrealBuildTool.exe MyProject -ModuleWithSuffix MyProject 1497 Win64 DebugGame -editorrecompile -canskiplink "C:/MyProject.uproject"  -2015]
      

      所以 UE4 只是调用其中一种工具来构建您的项目并动态加载新库。在 UnrealBuildTool 中,您可以找到对 VS 编译器的引用:

      string CompilerExe = Path.Combine(WindowsPlatform.GetVSComnToolsPath(WindowsCompiler.VisualStudio2015), "../../VC/bin/cl.exe");
      

      在运行时加载 dll 也是一项可行的任务。

    2. 创建 VS 项目。这可以通过编程来完成,有一个guide on MSDN

    3. 创建和打开文件。创建文件很容易。您可以通过使用文件名参数调用 vs 可执行文件来打开一个。至于具体的线路,我不确定这是否可能。当我在蓝图中单击 Go to definition 时,它只是打开了另一个 Visual Studio 实例,文件在顶部打开。但我不确定,可能有一个命令行参数可以让你跳转到特定的行。

    结论

    所以我认为与正在运行的 Visual Studio 进行通信是不可能的,而 Unreal 不这样做。它只是使用 Visual Studio 提供的工具来完成这项工作。推荐查看 UE4 工具的源码,很有启发性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      • 2020-09-04
      • 2020-12-11
      • 1970-01-01
      • 2016-08-18
      • 2020-05-13
      • 2018-09-01
      相关资源
      最近更新 更多