VSTU によって作成されるプロジェクト ファイルのカスタマイズ

Visual Studio Tools for Unity は、プロジェクト ファイルの生成時に Unity スタイルのコールバックを提供します。 VisualStudioIntegration.ProjectFileGeneration イベントに登録し、プロジェクト ファイルが再生成されるたびに、それを変更します。


Visual Studio Tools for Unity によって生成された Visual Studio プロジェクト ファイルをカスタマイズする方法について示します。

using System;  
using System.IO;  
using System.Linq;  
using System.Text;  
using System.Xml.Linq;  

using UnityEngine;  
using UnityEditor;  

using SyntaxTree.VisualStudio.Unity.Bridge;  

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, string content) =>  
            // parse the document and make some changes  
            var document = XDocument.Parse(content);  
            document.Root.Add(new XComment("FIX ME"));  

            // save the changes using the Utf8StringWriter  
            var str = new Utf8StringWriter();  

            return str.ToString();  


例: ログのコールバック