unity在其版本蓝图中宣布了将在12月发布的unity5.3中集成MonoDevelop-Unity5.9。目前为止MonoDevelop5.9是最新的稳定版本,与MonoDevelop4.0.1相比有很大改善也修复了大量错误。
而之所以称作MonoDevelop-Unity5.9,是因为Unity针对自身特点也对MonoDevelop做了一些改进。MonoDevelop的目标平台都是针对Unity,如上图橙色框所示。现在直接点击运行即可关联到目标平台进行调试,而之前是必须多次点击“Attach to Process”。
Unity已经发布了MonoDevelop-Unity5.9的预览版,大家可以点击阅读原文获取下载地址。
MonoDevelop-Unity5.9对Unity编辑器版本要求如下:
脚本调试修复
除了升级MonoDevelop之外,Unity还修复了一些对于MonoDevelop和Visual Studio Tools均有影响的脚本调试错误。
以下是中Unity5.2.2和Unity5.3中修复的脚本调试问题:
还有一些只会影响到MonoDevelop-Unity5.9的调试问题:
以上问题你有遇到过吗,如果有,赶紧点击原文下载新版MonoDevelop吧~
使用REST集成Unity和MonoDevelop
Unity集成MonoDevelop要处理两种文件,即解决方案文件(.sln)和工程文件(.csproj)。
这种方案并不理想,因为每次添加、删除、移动或是重命名脚本文件,Unity都会更新这两个文件。而更新后的文件写入硬盘后,MonoDevelop就必须重新加载整个工程。所以更好的办法是Unity直接与MonoDevelop通信,在每次Assets中有文件改变都会通知MonoDevelop。
解决方案文件还有一个问题,因为Unity与MonoDevelop使用的C#编译器并不相同。所以会导致有时候脚本在两边会有不同的编译错误和警告,有时也可能出现脚本在Unity中编译而不在MonoDevelop中编译,反之亦然。
为了解决以上问题以使Unity与MonoDevelop连接更紧密,Unity选用了REST(Representational state transfer,具象状态传输)来与MonoDevelop进行通信。实际上就是通过一个网络套接字传输数据,而不需再生成解决方案文件和工程文件。
而MonoDevelop也会根据Unity传送的REST信息将Assets文件夹下的内容显示在工程目录中。每次Unity中的Assets文件夹有任何改变MonoDevelop中的Assets文件夹目录也会同步更新。同样在MonoDevelop中改变Assets下的内容也会发送消息到Unity中等待确认。Unity确认过后再通知MonoDevelop更新Assets目录。
下图是MonoDevelop中的Unity Assets Folder显示视图,正式发布的版本可能会变:
MonoDevelop还会使用REST来编译Unity中的脚本,然后Unity会将编译结果发送回MonoDevelop。上图就是Unity发给MonoDevelop的编译结果。
当然REST的功能远不止这些,下面是一些Unity计划使用REST来实现的功能:
以上功能有望在Unity5.5中与大家见面。
转载请注明:程序人生 » Unity集成新版MonoDevelop5.9