Unity 自定義代碼模板類

起因:在開發過程中,每個人的代碼編寫風格都是不一樣的,在團隊協作開發過程中,爲了更加方便、高效的合作,代碼的可閱讀性必須非常高才行,所以應該從最基本的腳本創建開始執行

腳本模板示例:

 

模板規範流程:

1、首先找到Unity的安裝路徑,然後定位到Editor\Data\Resources\ScriptTemplates目錄下,這個目錄下的文件是Unity默認的腳本創建模板,本文只介紹 81-C# Script-NewBehaviourScript.cs 此模板的自定義,其他的有興趣可以自己研究

 

2、使用文本編輯器打開 81-C# Script-NewBehaviourScript.cs,以下是我的自定義模板,圖示已經做了詳細描述,剩下的就是各位自己DIY了

/*
 * FileName:     #SCRIPTNAME#
 * CompanyName:  #CompanyName#
 * Author:       #Author#
 * CreateTime:   #CreateTime#
 * UnityVersion: #UnityVersion#
 * Version:     #Version#
 * Description:
 * 
*/

using UnityEngine;

public class #SCRIPTNAME# : MonoBehaviour 
{
	private void Start()
    {
        
    }
}

 

3、在自己的Unity工程中,創建Editor文件夾,在文件夾內創建腳本CustomScriptTemplate.cs

腳本內容如下:

using UnityEngine;
using System.IO;

public class CustomScriptTemplate : UnityEditor.AssetModificationProcessor
{
    /// <summary>  
    /// 此函數在asset被創建完,文件已經生成到磁盤上,但是沒有生成.meta文件和import之前被調用  
    /// </summary>  
    /// <param name="newFileMeta">newfilemeta 是由創建文件的path加上.meta組成的</param>  
    public static void OnWillCreateAsset(string newFileMeta)
    {
        string newFilePath = newFileMeta.Replace(".meta", "");
        string fileExt = Path.GetExtension(newFilePath);
        if (fileExt != ".cs")
        {
            return;
        }
        //注意,Application.datapath會根據使用平臺不同而不同  
        string realPath = Application.dataPath.Replace("Assets", "") + newFilePath;
        string scriptContent = File.ReadAllText(realPath);

        //這裏實現自定義的一些規則  
        scriptContent = scriptContent.Replace("#SCRIPTNAME#", Path.GetFileName(newFilePath));
        scriptContent = scriptContent.Replace("#CompanyName#", "CompanyName");
        scriptContent = scriptContent.Replace("#Author#", "WangDouDou");
        scriptContent = scriptContent.Replace("#Version#", "1.0");
        scriptContent = scriptContent.Replace("#UnityVersion#", Application.unityVersion);
        scriptContent = scriptContent.Replace("#CreateTime#", System.DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss"));

        File.WriteAllText(realPath, scriptContent);
    }
}

注意,替換名字時一定要注意,代碼中的名字要跟你安裝目錄文件中的名字對應起來,否則會無效

 

至此,整個代碼模板類就創建完成了,可以自己創建一個腳本做一下測試

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章