zoukankan      html  css  js  c++  java
  • 怎么去注释自己的Unity脚本的头注释

    简单来说就是在创建脚本的时候,得.cs脚本路径,然后读出这个脚本所有的内容并且修改。代码如下:

    using UnityEditor;  
    using UnityEngine;  
    using System.IO;  
      
    public class AddFileHeadComment : UnityEditor.AssetModificationProcessor  
    {  
      
            // 添加脚本注释模板  
            private static string str =  
            "/**
    "  
            + "*Copyright(C) 2017 by #COMPANY#
    "  
            + "*All rights reserved.
    "  
            + "*ProductName:  #PRODUCTNAME#
    "  
            + "*Author:       #AUTHOR#
    "  
            + "*Version:      #VERSION#
    "  
            + "*UnityVersion: #UNITYVERSION#
    "  
            + "*CreateTime:   #CreateTime#
    "  
            + "*Description:   
    "  
            + "*/
    ";  
              
            /// <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#", "CW");  
                    scriptContent = scriptContent.Replace("#VERSION#", "1.0");  
                    scriptContent = scriptContent.Replace("#UNITYVERSION#", Application.unityVersion);  
                    File.WriteAllText(newFilePath, scriptContent);  
                }  
            }  
    }  
    

     测试:

    /**
    *Copyright(C) 2017 by DefaultCompany
    *All rights reserved.
    *ProductName:  SteamPro
    *Author:       CW
    *Version:      1.0
    *UnityVersion: 5.3.5f1
    *CreateTime:   2017/12/11 14:08:28
    *Description:   
    */
    using UnityEngine;
    using System.Collections;
    
    public class NewBehaviourScript : MonoBehaviour {
    
    	// Use this for initialization
    	void Start () {
    	
    	}
    	
    	// Update is called once per frame
    	void Update () {
    	
    	}
    }
    
  • 相关阅读:
    3. 无重复字符的最长子串
    24. 两两交换链表中的节点
    2. 两数相加
    23. 合并K个排序链表
    synergy配置 Ubuntu作Server, Win 7作client
    ros与下位机通信常用的c++ boost串口应用
    tar
    发布里程计传感器信息
    ROS TF——learning tf
    在linux终端下打开pdf文件
  • 原文地址:https://www.cnblogs.com/weiqiangwaideshijie/p/8022870.html
Copyright © 2011-2022 走看看