【Unity开发技巧】Unity脚本自动添加注释头
2017-12-04 16:30
417 查看
原理就是为新建的脚本文件写入注释内容
方法一:
将如下脚本放置Editor目录下即可
using UnityEditor;
using UnityEngine;
using System.IO;
public class AddFileHeadComment : UnityEditor.AssetModificationProcessor
{
// 添加脚本注释模板
private static string str =
"/**\r\n"
+ "*Copyright(C) 2017 by #COMPANY#\r\n"
+ "*All rights reserved.\r\n"
+ "*ProductName: #PRODUCTNAME#\r\n"
+ "*Author: #AUTHOR#\r\n"
+ "*Version: #VERSION#\r\n"
+ "*UnityVersion: #UNITYVERSION#\r\n"
+ "*CreateTime: #CreateTime#\r\n"
+ "*Description: \r\n"
+ "*/\r\n";
/// <summary>
/// 此函数在asset被创建完,文件已经生成到磁盘上,但是没有生成.meta文件和import之前被调用
/// </summary>
/// <param name="newFileMeta">newfilemeta 是由创建文件的path加上.meta组成的</param>
public static void OnWillCreateAsset(string newFileMeta)
{
// 只修改C#脚本
string newFilePath = newFileMeta.Replace(".meta", "");
if (newFilePath.EndsWith(".cs"))
{
string scriptContent = str;
scriptContent += File.ReadAllText(newFilePath);
// 替换字符串为系统时间
scriptContent = scriptContent.Replace("#CreateTime#", System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
//这里实现自定义的一些规则
scriptContent = scriptContent.Replace("#SCRIPTFULLNAME#", Path.GetFileName(newFilePath));
scriptContent = scriptContent.Replace("#COMPANY#", PlayerSettings.companyName);
scriptContent = scriptContent.Replace("#PRODUCTNAME#", PlayerSettings.productName);
scriptContent = scriptContent.Replace("#AUTHOR#", "Tony");
scriptContent = scriptContent.Replace("#VERSION#", "1.0");
scriptContent = scriptContent.Replace("#UNITYVERSION#", Application.unityVersion);
File.WriteAllText(newFilePath, scriptContent);
}
}
}
--------------------------------华丽的分割线--------------------------------
方法二:
1.首先找到Unity的安装目录下文件夹ScriptTemplates下的“81-C# Script-NewBehaviourScript.cs”脚本;
Windows路径:D:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates
Mac地址:/Applications/Unity/Unity.app/Contents/Resources/ScriptTemplates/
说明:Unity中的脚本创建使用的是模板拷贝,拷贝的就是这个文件夹下的脚本。
2.打开里面的 81-C# Script-NewBehaviourScript.cs,这个是创建C#脚本的模板,在里面添加注释内容,
如下:
3.修改后保存,然后进入Unit编辑器,在Editor文件夹下创建脚本:
AddFileHeadComment.cs
4.保存脚本,脚本使用的原理就是在Unity保存脚本的时候对##的关键字进行真实信息的替换,达到时间和公司,作者等信息的准确自定义。
方法一:
将如下脚本放置Editor目录下即可
using UnityEditor;
using UnityEngine;
using System.IO;
public class AddFileHeadComment : UnityEditor.AssetModificationProcessor
{
// 添加脚本注释模板
private static string str =
"/**\r\n"
+ "*Copyright(C) 2017 by #COMPANY#\r\n"
+ "*All rights reserved.\r\n"
+ "*ProductName: #PRODUCTNAME#\r\n"
+ "*Author: #AUTHOR#\r\n"
+ "*Version: #VERSION#\r\n"
+ "*UnityVersion: #UNITYVERSION#\r\n"
+ "*CreateTime: #CreateTime#\r\n"
+ "*Description: \r\n"
+ "*/\r\n";
/// <summary>
/// 此函数在asset被创建完,文件已经生成到磁盘上,但是没有生成.meta文件和import之前被调用
/// </summary>
/// <param name="newFileMeta">newfilemeta 是由创建文件的path加上.meta组成的</param>
public static void OnWillCreateAsset(string newFileMeta)
{
// 只修改C#脚本
string newFilePath = newFileMeta.Replace(".meta", "");
if (newFilePath.EndsWith(".cs"))
{
string scriptContent = str;
scriptContent += File.ReadAllText(newFilePath);
// 替换字符串为系统时间
scriptContent = scriptContent.Replace("#CreateTime#", System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"));
//这里实现自定义的一些规则
scriptContent = scriptContent.Replace("#SCRIPTFULLNAME#", Path.GetFileName(newFilePath));
scriptContent = scriptContent.Replace("#COMPANY#", PlayerSettings.companyName);
scriptContent = scriptContent.Replace("#PRODUCTNAME#", PlayerSettings.productName);
scriptContent = scriptContent.Replace("#AUTHOR#", "Tony");
scriptContent = scriptContent.Replace("#VERSION#", "1.0");
scriptContent = scriptContent.Replace("#UNITYVERSION#", Application.unityVersion);
File.WriteAllText(newFilePath, scriptContent);
}
}
}
--------------------------------华丽的分割线--------------------------------
方法二:
1.首先找到Unity的安装目录下文件夹ScriptTemplates下的“81-C# Script-NewBehaviourScript.cs”脚本;
Windows路径:D:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates
Mac地址:/Applications/Unity/Unity.app/Contents/Resources/ScriptTemplates/
说明:Unity中的脚本创建使用的是模板拷贝,拷贝的就是这个文件夹下的脚本。
2.打开里面的 81-C# Script-NewBehaviourScript.cs,这个是创建C#脚本的模板,在里面添加注释内容,
如下:
/** *Copyright(C) 2015 by #COMPANY# *All rights reserved. *ProductName: #PRODUCTNAME# *FileName: #SCRIPTFULLNAME# *Author: #AUTHOR# *Version: #VERSION# *UnityVersion:#UNITYVERSION# *CreateTime: #CreateTime# *Description: *History: */ using UnityEngine; using System.Collections; public class #SCRIPTNAME# : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } }
3.修改后保存,然后进入Unit编辑器,在Editor文件夹下创建脚本:
AddFileHeadComment.cs
using UnityEditor; using UnityEngine; using System.IO; public class AddFileHeadComment : UnityEditor.AssetModificationProcessor { /// <summary> /// 此函数在asset被创建完,文件已经生成到磁盘上,但是没有生成.meta文件和import之前被调用 /// </summary> /// <param name="newFileMeta">newfilemeta 是由创建文件的path加上.meta组成的</param> public static void OnWillCreateAsset(string newFileMeta) { // 只修改C#脚本 string newFilePath = newFileMeta.Replace(".meta", ""); if (newFilePath.EndsWith(".cs")) { string scriptContent = str; scriptContent += File.ReadAllText(newFilePath); // 替换字符串为系统时间 scriptContent = scriptContent.Replace("#CreateTime#", System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")); //这里实现自定义的一些规则 scriptContent = scriptContent.Replace("#SCRIPTFULLNAME#", Path.GetFileName(newFilePath)); scriptContent = scriptContent.Replace("#COMPANY#", PlayerSettings.companyName); scriptContent = scriptContent.Replace("#PRODUCTNAME#", PlayerSettings.productName); scriptContent = scriptContent.Replace("#AUTHOR#", "Tony"); scriptContent = scriptContent.Replace("#VERSION#", "1.0"); scriptContent = scriptContent.Replace("#UNITYVERSION#", Application.unityVersion); File.WriteAllText(newFilePath, scriptContent); } } }
4.保存脚本,脚本使用的原理就是在Unity保存脚本的时候对##的关键字进行真实信息的替换,达到时间和公司,作者等信息的准确自定义。
相关文章推荐
- 数据报表开发技巧:自动为数据报表添加【小计】、【总计】行
- Unity VS脚本自动添加头部注释
- Unity Mono脚本自动添加头部注释
- Unity游戏开发——自动为动画剪辑添加事件 之 最后几帧的事件不能被调用的问题
- Unity 脚本 自动添加 脚本信息
- Unity VS脚本自动添加头部注释
- Unity 脚本 自动添加 脚本信息
- Unity 及 VS2015 创建脚本时自动添加头部注释
- Unity编程笔录--Unity VS脚本自动添加头部注释
- Unity添加脚本的时候,自动创建版权信息
- 关于Unity自动为安卓添加权限
- vi技巧之自动给新建的文件添加头部注释
- 【Unity技巧】开发技巧(技巧篇)-----妈妈说女孩子要自立自强
- Unity编译到Xcode自动添加AppIcon
- Eclipse用法和技巧十六:自动添加未实现方法2
- Unity 游戏开发技巧集锦之创建透明的材质
- shell 脚本实战笔记(9)--linux自动批量添加用户
- UNITY技巧-查找脚本被哪个场景引用
- Excel开发(VBA)— 在Excel里自动添加工具栏
- 在Fedora下自动配置Java开发环境的bash脚本(适用于使用bash终端的Linux)