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 路徑下的模闆的内容,直接在檔案建立的時候把檔案描述添加到腳本開始即可;
(見第八)
四、效果預覽

五、實作步驟
1、在你的 Unity 安裝目錄,找到檔案 81-C# Script-NewBehaviourScript.cs.txt,排除錯的的話,你可以備份一份,如下圖
(大緻路徑為 :你的安裝目錄\Unity\Editor\Data\Resources\ScriptTemplates)
2、打開檔案進行修改,内容根據自己需要添加即可,參照如下如
3、打開 Unity,建立一個工程,載工程中建立一個 Editor 檔案夾,并建立一個腳本,如下圖
4、打開腳本進行編輯,添加腳本建立的時候讀取檔案内容,動态修改腳本作者和腳本建立時間,代碼大概如下
5、回到 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安裝路徑下的模闆檔案,建立腳本的時候自動添加模闆注釋檔案描述的方法
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);
}
}
}