天天看點

Unity C#開發利器之UnityVS

關于UnityVS的特色,我不做過多闡述,一句話Microsoft Visual Studio C#輔助開發插件。

0:Visual Studio and Unity 連接配接

UnityVS顯示它是連接配接到一個Unity執行個體,UnityVS通過UDP連接配接,如果你的防火牆會詢問他們,授權他們。

如果UnityVS未能連接配接到一個Unity執行個體,其狀态圖示将顯示為灰色。點選它,選擇一個Unity的執行個體并連接配接。

Unity C#開發利器之UnityVS

1:調試

在VS中,按下F5開始通過連接配接Unity進行Debug調試。在此可以調試編輯器中的腳本。或者在Unity中運作遊戲和調試遊戲腳本。

Unity C#開發利器之UnityVS

目前,隻支援在編輯器中調試,官方表示以後會支援外部調試。

1-2:調試外部的DLL

很多人都用外部DLL檔案編寫可重用的子產品元件,并将它們部署在他們的Unity項目。使用UnityVS,它也有可對其進行調試。

請注意,目前隻支援UnityVS調試托管DLL。本機C + + DLL中尚不支援!!!!!

添加UnityVS方案到你的項目:

在Visual Studio中,你可以添加現有項目的UnityVS解決方案。從UnityVS1.2,項目擁有的引用UnityVS将被保持,甚至把UnityVS作為再生項目檔案。

Unity C#開發利器之UnityVS

2:引用正确合适的Unity架構配置

在Visual Studio中,你可以改變你的項目類庫的Unity配置檔案,是以你不要調用一些以前NET 3.5中存在的風險的方法。那樣不支援在Unity中使用Mono的版本。針對項目應該使用一個API編譯類庫版本。

Unity C#開發利器之UnityVS

部署資源檔案夾中的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工程檔案夾。

Unity C#開發利器之UnityVS
Unity C#開發利器之UnityVS

導入UnityVS包

你會發現它在你的ProgramFiles\UnityVS, or Program Files (x86)\UnityVS on 64 bits機,你需要将它複制到OSX上,并将其導入Unity。

打開您的項目

在你的虛拟機,在Visual Studio打開由UnityVS産生解決方案。其名稱開始UnityVS.YourProjectName。UnityVS不會被連接配接到遠端的Unity。點選狀态欄打開選擇的Unity圖示,并選擇你的項目。

Unity C#開發利器之UnityVS
Unity C#開發利器之UnityVS

4:從Player角度調試

從與UnityVS 1.2開始,你現在可以把VisualStudio調試器附加到Unity的Player,隻要他們建立腳本調試标志,它們應該是在同一網絡上運作的UnityVS執行個體。

建立您的播放器與調試

在Unity 的Build Settings面闆,確定Development Build和Script debugging複選框被選中。

Unity C#開發利器之UnityVS

配置WebPlayer通道

如果你想調試Web播放器,確定右鍵點選播放器,并配置Development通道。

Unity C#開發利器之UnityVS

5:附加Unity Debugger

使用附加Unity調試進入Visual Studio “調試”菜單中的Unity選擇對話框,然後單擊”OK“開始調試。

Unity C#開發利器之UnityVS

6:Unity 工程資料總管

您可以打開Visual Studio内部的Unity的工程資料總管“,你的項目必須在Unity同一層次結構上。

Unity C#開發利器之UnityVS
Unity C#開發利器之UnityVS

7:文檔通路

要通路Unity文檔,移動光标或突出一個Unity的方法或成員,并按下幫助快捷。UnityVS将嘗試加載的檔案在本地或将回退到線上文檔。

快捷鍵:CTRL + ALT + M,Ctrl + H

8:腳本向導:

MonoBehavior 腳本内部方法向導

學習時特别有用Unity的API,MonoBehavior向導讓您直覺地選擇Unity的函數來實作在你的MonoBehavior。

快捷鍵:CTRL + SHIFT + M

Unity C#開發利器之UnityVS

快速定位MonoBehavior成員對象

對于那些誰已經知道他們需要實作哪些功能,快速的MonoBehavior向導可以讓你迅速實作一個MonoBehavior函數,尤其是當你使用駝峰命名規則 。例如,你可以輸入OMD,該向導将比對OnMouseDown實作OnMouseDrag的。

Unity C#開發利器之UnityVS

不同的符号(腳本,函數,變量)您的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 )  => 

       { 

           // ... 

       }; 

    }

}

繼續閱讀