UnityVS這個(gè)插件就不用說了吧~相信做Unity3D開發(fā)的都應(yīng)該知道,Unity3D的VS調(diào)試插件,支持VS2012,不習(xí)慣用Unity自帶的編輯器調(diào)試的可以試試這個(gè)。
破解教程:
1. 備份Rhino.Licensing.dll and SyntaxTree.VisualStudio.Unity.dll from 在VisualStudio 的擴(kuò)展目錄(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顯示它是連接到一個(gè)Unity實(shí)例,UnityVS通過UDP連接,如果你的防火墻會(huì)詢問他們,授權(quán)他們。
如果UnityVS未能連接到一個(gè)Unity實(shí)例,其狀態(tài)圖標(biāo)將顯示為灰色。點(diǎn)擊它,選擇一個(gè)Unity的實(shí)例并連接。
1:調(diào)試
在VS中,按下F5開始通過連接Unity進(jìn)行Debug調(diào)試。在此可以調(diào)試編輯器中的腳本;蛘咴赨nity中運(yùn)行游戲和調(diào)試游戲腳本。
目前,只支持在編輯器中調(diào)試,官方表示以后會(huì)支持外部調(diào)試。
1-2:調(diào)試外部的DLL
很多人都用外部DLL文件編寫可重用的模塊組件,并將它們部署在他們的Unity項(xiàng)目。使用UnityVS,它也有可對其進(jìn)行調(diào)試。
請注意,目前只支持UnityVS調(diào)試托管DLL。本機(jī)C + + DLL中尚不支持!。。!
添加UnityVS方案到你的項(xiàng)目:
在Visual Studio中,你可以添加現(xiàn)有項(xiàng)目的UnityVS解決方案。從UnityVS1.2,項(xiàng)目擁有的引用UnityVS將被保持,甚至把UnityVS作為再生項(xiàng)目文件。
2:引用正確合適的Unity框架配置
在Visual Studio中,你可以改變你的項(xiàng)目類庫的Unity配置文件,因此你不要調(diào)用一些以前NET 3.5中存在的風(fēng)險(xiǎn)的方法。那樣不支持在Unity中使用Mono的版本。針對項(xiàng)目應(yīng)該使用一個(gè)API編譯類庫版本。
部署資源文件夾中的DLL和PDB
我們建議您修改您的DLL項(xiàng)目中添加一個(gè)MSBuild的后期Build任務(wù)的DLL復(fù)制到Unity文件夾中。為了能夠調(diào)試DLL,調(diào)試還需要調(diào)試符號,映射源文件代碼位置。當(dāng)您使用Visual Studio創(chuàng)建一個(gè)DLL,輸出的調(diào)試符號的PDB文件。為了方便UnityVS能夠調(diào)試您的DLL,你必須復(fù)制的PDB文件。該unityvs包將使用DLL和PDB的內(nèi)容創(chuàng)建一個(gè)dll.mdb文件,通過Unity的腳本引擎調(diào)試。
為了確保調(diào)試符號總是同步的DLL文件,我們建議您刪除該DLL,PDB和DLL.MDB的文件,然后再復(fù)制新文件超過。
調(diào)試你的代碼
現(xiàn)在,您可以把您的DLL代碼中的斷點(diǎn)在UnityVS解決方案,并啟動(dòng)調(diào)試。
3:遠(yuǎn)程調(diào)試
遠(yuǎn)程調(diào)試在UnityVS 1.0被認(rèn)為是一個(gè)預(yù)覽功能,因?yàn)樗墓δ苡蠦ug。
配置你的虛擬機(jī)的共享文件夾
您只需共享您的Unity工程文件夾。
導(dǎo)入U(xiǎn)nityVS包
你會(huì)發(fā)現(xiàn)它在你的ProgramFiles\UnityVS, or Program Files (x86)\UnityVS on 64 bits機(jī),你需要將它復(fù)制到OSX上,并將其導(dǎo)入U(xiǎn)nity。
打開您的項(xiàng)目
在你的虛擬機(jī),在Visual Studio打開由UnityVS產(chǎn)生解決方案。其名稱開始UnityVS.YourProjectName。UnityVS不會(huì)被連接到遠(yuǎn)程的Unity。點(diǎn)擊狀態(tài)欄打開選擇的Unity圖標(biāo),并選擇你的項(xiàng)目。
4:從Player角度調(diào)試
從與UnityVS 1.2開始,你現(xiàn)在可以把VisualStudio調(diào)試器附加到Unity的Player,只要他們建立腳本調(diào)試標(biāo)志,它們應(yīng)該是在同一網(wǎng)絡(luò)上運(yùn)行的UnityVS實(shí)例。
創(chuàng)建您的播放器與調(diào)試
在Unity 的Build Settings面板,確保Development Build和Script debugging復(fù)選框被選中。
配置WebPlayer通道
如果你想調(diào)試Web播放器,確保右鍵點(diǎn)擊播放器,并配置Development通道。
5:附加Unity Debugger
使用附加Unity調(diào)試進(jìn)入Visual Studio “調(diào)試”菜單中的Unity選擇對話框,然后單擊”O(jiān)K“開始調(diào)試。
6:Unity 工程資源管理器
您可以打開Visual Studio內(nèi)部的Unity的工程資源管理器“,你的項(xiàng)目必須在Unity同一層次結(jié)構(gòu)上。
7:文檔訪問
要訪問Unity文檔,移動(dòng)光標(biāo)或突出一個(gè)Unity的方法或成員,并按下幫助快捷。UnityVS將嘗試加載的文件在本地或?qū)⒒赝说皆诰文檔。
快捷鍵:CTRL + ALT + M,Ctrl + H
8:腳本向?qū)В?/strong>
MonoBehavior腳本內(nèi)部方法向?qū)?/p>
學(xué)習(xí)時(shí)特別有用Unity的API,MonoBehavior向?qū)ё屇庇^地選擇Unity的函數(shù)來實(shí)現(xiàn)在你的MonoBehavior。
快捷鍵:CTRL + SHIFT + M
快速定位MonoBehavior成員對象
對于那些誰已經(jīng)知道他們需要實(shí)現(xiàn)哪些功能,快速的MonoBehavior向?qū)Э梢宰屇阊杆賹?shí)現(xiàn)一個(gè)MonoBehavior函數(shù),尤其是當(dāng)你使用駝峰命名規(guī)則 。例如,你可以輸入OMD,該向?qū)⑵ヅ銸nMouseDown實(shí)現(xiàn)OnMouseDrag的。
不同的符號(腳本,函數(shù),變量)您的UnityVS項(xiàng)目之間進(jìn)行導(dǎo)航的推薦方法是使用集成的Visual Studio的導(dǎo)航對話框。
9:編碼模版
您可以與UnityVS如何生成的項(xiàng)目文件,通過使用統(tǒng)一風(fēng)格的回調(diào)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注冊自己的日志回調(diào)能夠流Unity控制臺到VisualStudio。如果你有編輯腳本以前注冊自己的回調(diào),我們都可以如果你插入自己的日志回調(diào)一起工作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 ) =>
{
// ...
};
}
}