- 最后登录
- 2014-5-7
- 注册时间
- 2013-7-12
- 阅读权限
- 90
- 积分
- 11615
- 纳金币
- 454
- 精华
- 31
|
使用unity3d3.5也有一段时间了,对于编码和调试的集成环境小结如下:
(1) 编辑代码使用Visual Studio . 这样可以使用VA等辅助工具,相对MonoDevelop来说高亮也会舒服很多。如果始终使用VS进行代码编辑的话,也不会注释上出现中文乱码的问题,而在MonoDevelop中则会出现乱码。Unity3D 3.5中可以配置默认打开的IDE,推荐选择VS,这样可以避免3.5版本的一个bug,此bug描述如下:
对于将Visual Studio 2008 安装在非C盘的开发者,如果在Unity编辑器中将默认打开的IDE设为MonoDevelop,那么将会生成版本号为11的sln文件,导致VS2008无法打开对应的sln,除非修改sln文件(使用文本打开,修改其版本号为10即可),但如果有cs文件增删,Unity编辑器会生成新的sln文件,这样又需要手工修改,烦不胜烦。
解决方案:将Visual Studio 2008安装到C盘,并且将Unity编辑器的默认脚本IDE设置为Visual Studio 2008.如果想对程序进行调试,则在Unity编辑器之外将MonoDevelop启动,再打开Unity编辑器生成好的sln文件。
(2) 调试代码使用MonoDevelop. 将MonoDevelop启动,打开编辑器生成的sln文件,然后将Unity编辑器打开,可以马上在MonoDevelop中进行Attach编辑器进程,也可以等编辑器处于GamePlay状态时进行Attach,都可以。
其实真想某天能看到使用Visual Studio进行代码编辑和调试,不过目前看起来不太可能,Unity编辑器使用JIT编译出来的dll是Mono的dll,PDB文件什么的,跟微软的标准很可能不一致。我曾经尝试过使用Visual Studio编译出来的dll替换编辑器编译出来的dll,是能够正常运行的,因为Mono对.net进行了自己的一套实现。但通过Visual Studio attach编辑器进程,依然无法调试,很可能在PDB那里出了问题,没能够装载VS产生的PDB。
如果哪位兄台能够在VS中调试Unity3D,请赐教,不胜感激*^_^* |
|