天天看點

Unity 基礎 之 新建立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 新建立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

Unity 基礎 之 新建立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

目錄

Unity 基礎 之 新建立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

一、簡單介紹

二、實作原理

三、注意事項

四、效果預覽

五、實作步驟

六、腳本自動添加檔案描述(檔案頭)模闆(注意檔案名:81-C# Script-NewBehaviourScript.cs.txt)

七、關鍵代碼

八、不用修改Unity安裝路徑下的模闆檔案,建立腳本的時候自動添加模闆注釋檔案描述的方法

一、簡單介紹

Unity中的一些基礎知識點。

Unity遊戲開發中,在新建立腳本的時候,自動添加自己設定的檔案(頭)描述,還可以動态自動修改腳本的建立的時間。

二、實作原理

1、修改替換 Unity 安裝目錄下的腳本模闆,設計成自己想要内容;

(你的安裝目錄\Unity\Editor\Data\Resources\ScriptTemplates)

2、在工程中添加一個腳本,動态修改需要在建立腳本的時候動态修改的内容,比如時間;

三、注意事項

1、修改的模闆檔案為 ' 81-C# Script-NewBehaviourScript.cs.txt ';

2、注意要排除同時建立 .meta 檔案;

      (  //将.meta字尾屏蔽,避免擷取到的是建立腳本時候的 meta 檔案

        path = path.Replace(".meta", ""); )

3、其實可以不用修改Unity 路徑下的模闆的内容,直接在檔案建立的時候把檔案描述添加到腳本開始即可;

(見第八)

四、效果預覽

Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

五、實作步驟

1、在你的 Unity 安裝目錄,找到檔案 81-C# Script-NewBehaviourScript.cs.txt,排除錯的的話,你可以備份一份,如下圖

(大緻路徑為 :你的安裝目錄\Unity\Editor\Data\Resources\ScriptTemplates)

Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

2、打開檔案進行修改,内容根據自己需要添加即可,參照如下如

Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

3、打開 Unity,建立一個工程,載工程中建立一個 Editor 檔案夾,并建立一個腳本,如下圖

Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

4、打開腳本進行編輯,添加腳本建立的時候讀取檔案内容,動态修改腳本作者和腳本建立時間,代碼大概如下

Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

5、回到 Unity 工程,建立一個腳本,在打開,就會發現腳本添加了自己設計的檔案描述,以及動态了修改了時間和作者,如下圖

Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)
Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

六、腳本自動添加檔案描述(檔案頭)模闆(注意檔案名:81-C# Script-NewBehaviourScript.cs.txt)

/****************************************************
	檔案:#SCRIPTNAME#.cs
	作者:#CreateAuthor#
	郵箱:https://blog.csdn.net/u014361280
	日期:#CreateTime#
	功能:Nothing
*****************************************************/
 
using UnityEngine;
 
public class #SCRIPTNAME# : MonoBehaviour 
{
 
}
           

七、關鍵代碼

using System;
using System.IO;

/// <summary>
/// 修改建立腳本中的指定資訊
/// </summary>
public class AddScriptInfo : UnityEditor.AssetModificationProcessor 
{
    /// <summary>
    /// 在建立資源的時候執行的函數
    /// </summary>
    /// <param name="path">路徑</param>
    private static void OnWillCreateAsset(string path) {

        //将.meta字尾屏蔽,避免擷取到的是建立腳本時候的 meta 檔案
        path = path.Replace(".meta", "");

        //隻對.cs腳本作操作
        if (path.EndsWith(".cs") == true) {
            //讀取該路徑下的.cs檔案中的所有文本.
            //注意,此時Unity已經對腳本完成了模版内容的替換,包括#SCRIPTNAME#也已經被替換為檔案名了,讀取到的是替換後的文本内容
            string str = File.ReadAllText(path);

            // 進行關鍵字的作者和時間擷取,并替換
            str = str.Replace("#CreateAuthor#", Environment.UserName).Replace(
                "#CreateTime#", string.Format("{0:0000}/{1:00}/{2:00} {3:00}:{4:00}:{5:00}",DateTime.Now.Year,
                DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour,DateTime.Now.Minute,
                DateTime.Now.Second));

            // 重新寫入腳本中,完成資料修改
            File.WriteAllText(path, str);
        }
    }
}
           

八、不用修改Unity安裝路徑下的模闆檔案,建立腳本的時候自動添加模闆注釋檔案描述的方法

Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)
using System;
using System.IO;

/// <summary>
/// 修改建立腳本中的指定資訊
/// </summary>
public class AddScriptInfo : UnityEditor.AssetModificationProcessor 
{
    private static string fileDescribe = 
        "/****************************************************\n"+
        "檔案:#SCRIPTNAME#\n" +
	    "作者:#CreateAuthor#\n" +
	    "郵箱:https://blog.csdn.net/u014361280 \n"+
	    "日期:#CreateTime#\n"+
	    "功能:Nothing\n"+
        "*****************************************************/\n\n";

    /// <summary>
    /// 在建立資源的時候執行的函數
    /// </summary>
    /// <param name="path">路徑</param>
    private static void OnWillCreateAsset(string path) {

        //将.meta字尾屏蔽,避免擷取到的是建立腳本時候的 meta 檔案
        path = path.Replace(".meta", "");

        //隻對.cs腳本作操作
        if (path.EndsWith(".cs") == true) {

            // 檔案名的分割擷取
            string[] iterm = path.Split('/'); 

            string str = fileDescribe;

            //讀取該路徑下的.cs檔案中的所有文本.
            //注意,此時Unity已經對腳本完成了模版内容的替換,包括#SCRIPTNAME#也已經被替換為檔案名了,讀取到的是替換後的文本内容
            str += File.ReadAllText(path);

            // 進行關鍵字的檔案名、作者和時間擷取,并替換
            str = str.Replace("#SCRIPTNAME#", iterm[iterm.Length - 1]).Replace(
                "#CreateAuthor#", Environment.UserName).Replace(
                "#CreateTime#", string.Format("{0:0000}/{1:00}/{2:00} {3:00}:{4:00}:{5:00}",DateTime.Now.Year,
                DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour,DateTime.Now.Minute,
                DateTime.Now.Second));

            // 重新寫入腳本中,完成資料修改
            File.WriteAllText(path, str);
        }
    }
}
           
Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)Unity 基礎 之 建立立腳本的時候自動添加頭部格式模闆注釋/開始處檔案描述(檔案頭規範)

繼續閱讀