您的位置:首页 > 移动开发 > Unity3D

Unity3D 创建脚本自动添加模板注释

2016-09-13 13:49 483 查看
相信很多人都喜欢在创建脚本时添加这样的注释说明,以前做Android开发用Eclipse设置过这样的脚本模板,所以也想在Unity上添加,从网上搜索资料得,首先找到Unity安装目录下的(注意:修改的是Unity脚本模板而不是vs或者momo里的)

“Unity\Editor\Data\Resources\ScriptTemplates ”

打开“81-C# Script-NewBehaviourScript.cs”文件,如下:

using UnityEngine;
using System.Collections;

public class #SCRIPTNAME# : MonoBehaviour {

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}
}


看到了吧,这个和我们在Unity创建C#脚本时自动生成的是不是一样,唯一区别的是宏#SCRIPTNAME#,这个宏会跟随我们创建的脚本名变化,这个功能也是我们自定义脚本模板的重要功能,后来我在这个文件的最上面添加了我的自定义注释,然后加了个自定义的#CreateTime#,是想在创建脚本时显示创建时间。结果发现这个时间一直显示为#CreateTime#不会变的。原来#SCRIPTNAME#是Unity自定义的一个宏,所以你想添加时间,必须也要自定义。然后自己找了好久也没找到在哪修改,最后找了一个直接在项目里修改的办法。如果修改本地文件的话,每次创建新项目都会生成这个新脚本模板,同时还要在项目里修改添加时间自定义。再加上我只喜欢在正式项目里才想加这个注释模板,有些并不想加,所以干脆把其他注释全部的添加到项目里,方便管理,具体如下:

该脚本需放到Editor文件夹内

using UnityEngine;
using System.Collections;
using System.IO;

public class ChangeScriptTemplates : UnityEditor.AssetModificationProcessor
{
// 添加脚本注释模板
private static string str =
"// ========================================================\r\n"
+"// 描 述:\r\n"
+"// 作 者:xfn \r\n"
+"// 创建时间:#CreateTime#\r\n"
+"// 版 本:v 1.0\r\n"
+"// ========================================================\r\n";

// 创建资源调用
public static void OnWillCreateAsset(string path)
{
// 只修改C#脚本
path = path.Replace(".meta", "");
if (path.EndsWith(".cs"))
{
string allText = str;
allText += File.ReadAllText(path);
// 替换字符串为系统时间
allText = allText.Replace("#CreateTime#",System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
File.WriteAllText(path, allText);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息