Unity VS脚本自动添加头部注释

http://blog.csdn.net/yupu56/article/details/52326930

很多人一起可能都使用过VS或者Eclipse之类的IDE来开发,都使用过在脚本的头部添加注释,标注时间,作者,修改等等的信息。
那么在Unity中使用MonoBehavior或者VS的时候怎么来实现这个功能呢?
先展示下效果:


下面说明下实现原理:
1.首先找到Unity的安装目录下文件夹ScriptTemplates:D:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates,Unity中的脚本创建使用的是模板拷贝,拷贝的就是这个文件夹下的脚本。
2.打开里面的 81-C# Script-NewBehaviourScript.cs,这个是创建C#脚本的模板,在里面添加注释内容:
[csharp]  view plain  copy
  1. /** 
  2.  *Copyright(C) 2015 by #COMPANY# 
  3.  *All rights reserved. 
  4.  *FileName:     #SCRIPTFULLNAME# 
  5.  *Author:       #AUTHOR# 
  6.  *Version:      #VERSION# 
  7.  *UnityVersion:#UNITYVERSION# 
  8.  *Date:         #DATE# 
  9.  *Description:    
  10.  *History: 
  11. */  
  12. using UnityEngine;  
  13. using System.Collections;  
  14.   
  15. public class #SCRIPTNAME# : MonoBehaviour {  
  16.   
  17.     // Use this for initialization  
  18.     void Start () {  
  19.       
  20.     }  
  21.       
  22.     // Update is called once per frame  
  23.     void Update () {  
  24.       
  25.     }  
  26. }  

3.修改后保存,然后进入Unit编辑器,在Editor文件夹下创建脚本:AddFileHeadComment.cs
[csharp]  view plain  copy
  1. using UnityEditor;  
  2. using UnityEngine;  
  3. using System.IO;  
  4.   
  5. public class AddFileHeadComment : UnityEditor.AssetModificationProcessor  
  6. {  
  7.     /// <summary>  
  8.     /// 此函数在asset被创建完,文件已经生成到磁盘上,但是没有生成.meta文件和import之前被调用  
  9.     /// </summary>  
  10.     /// <param name="newFileMeta">newfilemeta 是由创建文件的path加上.meta组成的</param>  
  11.     public static void OnWillCreateAsset(string newFileMeta)  
  12.     {  
  13.         string newFilePath = newFileMeta.Replace(".meta""");  
  14.         string fileExt = Path.GetExtension(newFilePath);  
  15.         if (fileExt != ".cs")  
  16.         {  
  17.             return;  
  18.         }  
  19.         //注意,Application.datapath会根据使用平台不同而不同  
  20.         string realPath = Application.dataPath.Replace("Assets""") + newFilePath;  
  21.         string scriptContent = File.ReadAllText(realPath);  
  22.   
  23.         //这里实现自定义的一些规则  
  24.         scriptContent = scriptContent.Replace("#SCRIPTFULLNAME#", Path.GetFileName(newFilePath));  
  25.         scriptContent = scriptContent.Replace("#COMPANY#", PlayerSettings.companyName);  
  26.         scriptContent = scriptContent.Replace("#AUTHOR#""Passion");  
  27.         scriptContent = scriptContent.Replace("#VERSION#""1.0");  
  28.         scriptContent = scriptContent.Replace("#UNITYVERSION#", Application.unityVersion);  
  29.         scriptContent = scriptContent.Replace("#DATE#", System.DateTime.Now.ToString("yyyy-MM-dd"));  
  30.   
  31.         File.WriteAllText(realPath, scriptContent);  
  32.     }  
  33.   
  34. }  

4.保存脚本,脚本使用的原理就是在Unity保存脚本的时候对##的关键字进行真实信息的替换,达到时间和公司,作者等信息的准确自定义。
5.OK,右键创建一个脚本试一下吧!


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值