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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chy_xfn/article/details/52524800

相信很多人都喜欢在创建脚本时添加这样的注释说明,以前做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);
        }
     }
}

猜你喜欢

转载自blog.csdn.net/chy_xfn/article/details/52524800