UnityVS这个插件就不用说了吧~相信做Unity3D开发的都应该知道,Unity3D的VS调试插件,支持VS2012,不习惯用Unity自带的编辑器调试的可以试试这个。
破解教程:
1. 备份Rhino.Licensing.dll and SyntaxTree.VisualStudio.Unity.dll from 在VisualStudio 的扩展目录(c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\SyntaxTree\UnityVS\)
2. Copy the existing ones in the same directory and overwrite. (may need administrator permissions)
3. Start VisualStudio 2012
4. Open Unity project
UnityVS使用教程:
Visual Studio and Unity连接
UnityVS显示它是连接到一个Unity实例,UnityVS通过UDP连接,如果你的防火墙会询问他们,授权他们。
如果UnityVS未能连接到一个Unity实例,其状态图标将显示为灰色。点击它,选择一个Unity的实例并连接。
1:调试
在VS中,按下F5开始通过连接Unity进行Debug调试。在此可以调试编辑器中的脚本。或者在Unity中运行游戏和调试游戏脚本。
目前,只支持在编辑器中调试,官方表示以后会支持外部调试。
1-2:调试外部的DLL
很多人都用外部DLL文件编写可重用的模块组件,并将它们部署在他们的Unity项目。使用UnityVS,它也有可对其进行调试。
请注意,目前只支持UnityVS调试托管DLL。本机C + + DLL中尚不支持!!!!!
添加UnityVS方案到你的项目:
在Visual Studio中,你可以添加现有项目的UnityVS解决方案。从UnityVS1.2,项目拥有的引用UnityVS将被保持,甚至把UnityVS作为再生项目文件。
2:引用正确合适的Unity框架配置
在Visual Studio中,你可以改变你的项目类库的Unity配置文件,因此你不要调用一些以前NET 3.5中存在的风险的方法。那样不支持在Unity中使用Mono的版本。针对项目应该使用一个API编译类库版本。
部署资源文件夹中的DLL和PDB
我们建议您修改您的DLL项目中添加一个MSBuild的后期Build任务的DLL复制到Unity文件夹中。为了能够调试DLL,调试还需要调试符号,映射源文件代码位置。当您使用Visual Studio创建一个DLL,输出的调试符号的PDB文件。为了方便UnityVS能够调试您的DLL,你必须复制的PDB文件。该unityvs包将使用DLL和PDB的内容创建一个dll.mdb文件,通过Unity的脚本引擎调试。
为了确保调试符号总是同步的DLL文件,我们建议您删除该DLL,PDB和DLL.MDB的文件,然后再复制新文件超过。
调试你的代码
现在,您可以把您的DLL代码中的断点在UnityVS解决方案,并启动调试。
3:远程调试
远程调试在UnityVS 1.0被认为是一个预览功能,因为它的功能有Bug。
配置你的虚拟机的共享文件夹
您只需共享您的Unity工程文件夹。
导入UnityVS包
你会发现它在你的ProgramFiles\UnityVS, or Program Files (x86)\UnityVS on 64 bits机,你需要将它复制到OSX上,并将其导入Unity。
打开您的项目
在你的虚拟机,在Visual Studio打开由UnityVS产生解决方案。其名称开始UnityVS.YourProjectName。UnityVS不会被连接到远程的Unity。点击状态栏打开选择的Unity图标,并选择你的项目。
4:从Player角度调试
从与UnityVS 1.2开始,你现在可以把VisualStudio调试器附加到Unity的Player,只要他们建立脚本调试标志,它们应该是在同一网络上运行的UnityVS实例。
创建您的播放器与调试
在Unity 的Build Settings面板,确保Development Build和Script debugging复选框被选中。
配置WebPlayer通道
如果你想调试Web播放器,确保右键点击播放器,并配置Development通道。
5:附加Unity Debugger
使用附加Unity调试进入Visual Studio “调试”菜单中的Unity选择对话框,然后单击”OK“开始调试。
6:Unity 工程资源管理器
您可以打开Visual Studio内部的Unity的工程资源管理器“,你的项目必须在Unity同一层次结构上。
7:文档访问
要访问Unity文档,移动光标或突出一个Unity的方法或成员,并按下帮助快捷。UnityVS将尝试加载的文件在本地或将回退到在线文档。
快捷键:CTRL + ALT + M,Ctrl + H
8:脚本向导:
MonoBehavior脚本内部方法向导
学习时特别有用Unity的API,MonoBehavior向导让您直观地选择Unity的函数来实现在你的MonoBehavior。
快捷键:CTRL + SHIFT + M
快速定位MonoBehavior成员对象
对于那些谁已经知道他们需要实现哪些功能,快速的MonoBehavior向导可以让你迅速实现一个MonoBehavior函数,尤其是当你使用驼峰命名规则 。例如,你可以输入OMD,该向导将匹配OnMouseDown实现OnMouseDrag的。
不同的符号(脚本,函数,变量)您的UnityVS项目之间进行导航的推荐方法是使用集成的Visual Studio的导航对话框。
9:编码模版
您可以与UnityVS如何生成的项目文件,通过使用统一风格的回调ProjectFileGeneration的。
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using UnityEngine;
using UnityEditor;
using SyntaxTree.VisualStudio.Unity.Bridge;
[InitializeOnLoad]
public class ProjectFileHook
{
// necessary for XLinq to save the xml project file in utf8
class Utf8StringWriter : StringWriter
{
public override Encoding Encoding
{
get { return Encoding.UTF8; }
}
}
static ProjectFileHook()
{
ProjectFilesGenerator.ProjectFileGeneration += (string name, stringcontent) =>
{
var document = XDocument.Parse(content);
document.Root.Add(new XComment("FIX ME"));
var str = new Utf8StringWriter();
document.Save(str);
return str.ToString();
};
}
}
unityvs注册自己的日志回调能够流Unity控制台到VisualStudio。如果你有编辑脚本以前注册自己的回调,我们都可以如果你插入自己的日志回调一起工作using System ;
using UnityEngine ;
using UnityEditor ;
using SyntaxTree.VisualStudio.Unity.Bridge ;
[InitializeOnLoad]
public class LogCallbackHook
{
static LogCallbackHook ()
{
VisualStudioIntegration . LogCallback += ( string condition , string trace , LogType type ) =>
{
// ...
};
}
}