Unity 自定义代码模板类

起因:在开发过程中,每个人的代码编写风格都是不一样的,在团队协作开发过程中,为了更加方便、高效的合作,代码的可阅读性必须非常高才行,所以应该从最基本的脚本创建开始执行

脚本模板示例:

 

模板规范流程:

1、首先找到Unity的安装路径,然后定位到Editor\Data\Resources\ScriptTemplates目录下,这个目录下的文件是Unity默认的脚本创建模板,本文只介绍 81-C# Script-NewBehaviourScript.cs 此模板的自定义,其他的有兴趣可以自己研究

 

2、使用文本编辑器打开 81-C# Script-NewBehaviourScript.cs,以下是我的自定义模板,图示已经做了详细描述,剩下的就是各位自己DIY了

/*
 * FileName:     #SCRIPTNAME#
 * CompanyName:  #CompanyName#
 * Author:       #Author#
 * CreateTime:   #CreateTime#
 * UnityVersion: #UnityVersion#
 * Version:     #Version#
 * Description:
 * 
*/

using UnityEngine;

public class #SCRIPTNAME# : MonoBehaviour 
{
	private void Start()
    {
        
    }
}

 

3、在自己的Unity工程中,创建Editor文件夹,在文件夹内创建脚本CustomScriptTemplate.cs

脚本内容如下:

using UnityEngine;
using System.IO;

public class CustomScriptTemplate : UnityEditor.AssetModificationProcessor
{
    /// <summary>  
    /// 此函数在asset被创建完,文件已经生成到磁盘上,但是没有生成.meta文件和import之前被调用  
    /// </summary>  
    /// <param name="newFileMeta">newfilemeta 是由创建文件的path加上.meta组成的</param>  
    public static void OnWillCreateAsset(string newFileMeta)
    {
        string newFilePath = newFileMeta.Replace(".meta", "");
        string fileExt = Path.GetExtension(newFilePath);
        if (fileExt != ".cs")
        {
            return;
        }
        //注意,Application.datapath会根据使用平台不同而不同  
        string realPath = Application.dataPath.Replace("Assets", "") + newFilePath;
        string scriptContent = File.ReadAllText(realPath);

        //这里实现自定义的一些规则  
        scriptContent = scriptContent.Replace("#SCRIPTNAME#", Path.GetFileName(newFilePath));
        scriptContent = scriptContent.Replace("#CompanyName#", "CompanyName");
        scriptContent = scriptContent.Replace("#Author#", "WangDouDou");
        scriptContent = scriptContent.Replace("#Version#", "1.0");
        scriptContent = scriptContent.Replace("#UnityVersion#", Application.unityVersion);
        scriptContent = scriptContent.Replace("#CreateTime#", System.DateTime.Now.ToString("yyyy-MM-dd-HH:mm:ss"));

        File.WriteAllText(realPath, scriptContent);
    }
}

注意,替换名字时一定要注意,代码中的名字要跟你安装目录文件中的名字对应起来,否则会无效

 

至此,整个代码模板类就创建完成了,可以自己创建一个脚本做一下测试

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章