在OS X上使用Unity(C#)和Visual Studio Code进行调试?

22

我非常喜欢在OS X上使用Visual Studio、C#和Unity进行工作的想法。

有没有人在OS X上使用Visual Studio Code进行C#调试时成功地与Unity合作?


这里是来自VS Code的指南:https://code.visualstudio.com/docs/runtimes/unity - user3071284
8个回答

9
是的,它完全正常工作。Unity是C#,JavaScript或Boo。因此,您不需要.NET。Unity使用Mono运行时。因此,现有的VS项目可以在Mac OS X的Unity中打开。
编辑
这是一个链接,可帮助您将调试器附加到VS终端。 http://www.yunspace.com/2015/01/19/integrating-visualstudio-with-unity3d-on-mac-using-vstools/ 您也可以尝试使用VS Tools for Unity。 http://unityvs.com 更新
有这个很棒的dotBunny的Unity Plugin,解决了问题并将代码集成到Unity工具中。

:D 是的。Boo 也在那里。 - Abhishek Dey
编辑了我的原始问题。我完全可以打开项目并编辑文件,没有问题。我的真正问题是调试。如何让Unity连接到VSCode? - Vexir
VSCode确实具有地址/端口附加选项。我只是不确定它在Unity中的作用及是否可行。 - Vexir
Visual Studio Code实际上是Atom(来自gitHub)编辑器加上一些自定义的Microsoft插件。我不知道它包含什么样的调试器,但我认为你不能(至少不容易地)将这个调试器强制到Unity编辑器中。 - Kamalen
#if代码块内的代码完全被智能感知所忽略,包括IDE中的引用计数(也影响using语句)。 - Nic Foster

5

您好,解决方案是https://github.com/dotBunny/VSCode。这个插件适用于MacOS和Windows,并且提供以下功能:

•启用VS Code集成的选项(编辑器->资源->启用集成),这将更新您的解决方案文件并保持它们同步。这还会在Unity首选项中设置首选的外部工具编辑器。 *请注意,自Unity编辑器5.2版起,“同步MonoDevelop”选项已经消失。

•它会输出必要的(有时很难找到的)VS Code配置文件,包括隐藏编辑器中的“非代码”文件的能力(隐藏像.sln、.csproj和常见的unity .meta文件之类的东西)。还有一些其他设置可以帮助加快集成速度。

•每次都会自动启动VS Code直接进入您的项目文件夹。您不再需要担心保持该窗口打开,或者如果您在多个项目上工作,则切换。

需要注意的一点是,一旦启用了VSCode集成,更改外部工具首选项中的首选代码编辑器将不起作用,因为插件接管了打开代码文件的操作。如果您想使用其他编辑器,您需要先禁用集成。

unity_plugin

这些只是主要亮点,因为还有更多功能。

目前,您需要从GitHub下载插件文件。


5
一种现有的Visual Studio解决方案可以在Mac上使用Mono进行构建和调试,需要使用launch.json和tasks.json文件。我在我的博客中描述了它: 编译调试

enter image description here


2
你能在第二个链接中解释一下 OS X 上的.exe文件吗?我猜这个.exe是为 Windows 系统构建的,如果我猜对了,那么每次想要调试项目都要重新构建可能会很麻烦。也许你可以录制一些视频教程?使用tasks.json编译和构建项目后,我找不到任何可执行文件。 - Leo
是的,我也不太理解,launch.json 片段对于 Mac 或者 Unity 来说都不太合适。 - Zaky German

1

0

它有点不稳定。但是从最近的VSC版本中可以实现。

1)安装这个VSC Unity插件。 https://github.com/dotBunny/VSCode/

2)按照以下命令操作。(步骤1、2和3) https://code.visualstudio.com/Docs/runtimes/unity

3)完成设置后,使用Unity菜单启动VSC。

Assets/Open C# Project in Code

4) 运行Unity项目。你将在Unity控制台看到调试端口号。 而且该项目的launch.json文件将会被自动更新。

点击选项图标以打开launch.json。 enter image description here
该文件存在于这个文件夹中。

.vscode/launch.json

示例。

{
    "version":"0.1.0",
    "configurations":[ 
        {
            "name":"Unity",
            "type":"mono",
            "address":"localhost",
            "port":56621
        }
    ]
}

5) 在 VSC 的调试选项卡中开始调试。

就是这样。希望这有所帮助。


0

0

[2017年2月] 现在可以不使用dotBunny插件来完成此操作。

即,支持已经内置于Unity中。

只需重申一下,您无需调整Unity,只需使用VSCode。

指令在这里

指令虽然不完整,我也没有截图(请务必!),但基本上我所做的是:

(...并且随着您的进展改进这些说明,请记住...)

  1. 我按照链接中的指示删除/重命名了我的.vscode/Launch.json文件。
  2. 双击某个文件以在VSCode中打开项目(可能需要先确保在Unity的设置中将VSCode选为默认代码编辑器)。
  3. 按照链接中的指示,单击错误图标,然后单击齿轮图标。
  4. 我不得不在VSCode中安装那个vscode-unity-debug插件,只需使用“unity”过滤搜索即可找到它。
  5. 然后我必须按下绿色的“播放”三角形按钮。
  6. 我在我的代码中设置了一个断点。
  7. 现在切换到Unity并按下播放按钮,就会触发断点。

0

Visual Studio Code 的 Unity 调试器目前可以使用,但在进行任何严肃的工作时还不够完善。我真的希望他们将来会改进它,因为我更喜欢 VS Code 而不是 VS。

我遇到的当前问题: -有时无法步入函数,调试器会挂起直到您分离 -没有本地变量,必须观察所有内容 -一些更复杂的变量没有支持,因此无法看到内部情况 -总体上有点不稳定,出现了意外行为。

我喜欢的地方, 附加和分离非常容易。只需按一个按钮,即可快速附加和分离。例如,在我正在处理的程序开始时,会出现一堆异常。我可以快速分离和附加以跳过这些异常。

它目前存在的问题太过限制性,所以我不得不回到经典的 Visual Studio。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接