【Unity】如何自定义Unity脚本模板(个人翻译)

以下内容笔者个人翻译自:http://www.theknightsofunity.com/

当你创建一个新的脚本时候,Unity编辑器会成实一个以文件名为类命,包含一些默认内容的C#脚本。它长这样:

using UnityEngine;
using System.Collections;

public class MyCustomScript : MonoBehaviour {
    
    

	// Use this for initialization
	void Start () {
    
    
	
	}
	
	// Update is called once per frame
	void Update () {
    
    
	
	}
}

这是一个不错的开始,但假如你使用Unity工作了一段时间以后,日积月累下你已经有了自己的编码风格,以及很清楚每一个资源文件最初应该是什么样子的。脚本模板包含了使用制表符、空格、行结束符、命名空间、头部注释等等。每次创建新的脚本文件时,都要为符合自己的代码风格去修改这些内容,这难免会有些繁琐乏味。

你也许不知道这些模板是可以被修改的!你可以在下列位置找到这些脚本文件:

● Windows: C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates
● Mac: /Applications/Unity/Editor/Data/Resources/ScriptTemplates

在该文件夹下你可以看到以下若干脚本文件:

  • 81-C# Script-NewBehaviourScript.cs.txt
  • 82-Javascript-NewBehaviourScript.js.txt 83-Shader__Standard Surface
  • Shader-NewSurfaceShader.shader.txt 84-Shader__Unlit
  • Shader-NewUnlitShader.shader.txt


当然不必修改这里的所有文件,根据你个人需求修改即可。举个例子,你希望拥有一个不同的C#脚本模板,编辑81-C# Script-NewBehaviourScript.cs.txt这个文件,其余保持不变。

上述文件默认情况下长这样:

using UnityEngine;
using System.Collections;

public class #SCRIPTNAME# : MonoBehaviour {
    
    

	// Use this for initialization
	void Start () {
    
    
	
	}
	
	// Update is called once per frame
	void Update () {
    
    
	
	}
}

除了#SCRIPTNAME#以外,你可以随意修改。因为如果没有这句话,当你创建新脚本时,类命会出现错误。

以下是模板修改后的例子:

/*
 * Copyright (c) The Knights of Unity
 * http://www.theknightsofunity.com/
 */

using UnityEngine;

public class #SCRIPTNAME# : MonoBehaviour
{
    
    

    #region Public Fields
    #endregion

    #region Unity Methods

    void Start()
    {
    
    
    }

    void Update()
    {
    
    
    }

    #endregion

    #region Private Methods
    #endregion
}

我已经添加了一个包含版权条目的头部注释,移除了using System.Collections; 因我不需要在每个脚本中都用到collections。另外我还在我的class代码块中添加了regions去提高代码的导航性(regions可以快速的收缩和展开)。

修改好这些模板文件后重启你的Unity编辑器就可以使用新的脚本模板了!

确保备份好你的原始模板文件和修改后的文件。当你修改后的模板不被识别的时候,原始文件可以帮助你恢复或重新开始。同时也备份一个你修改好的并确认能使用的模板文件,放到Unity外部的文件夹保存好。当你升级Unity版本的时候,这些备份的自定义脚本能让你再次轻松的覆盖原始文件。

/*
 * 名称:#SCRIPTNAME#.cs
 * 作者:HaoRan
 * 功能:
 */
using UnityEngine;

namespace HaoRan
{
    
    
    #ROOTNAMESPACEBEGIN#
    public class #SCRIPTNAME# : MonoBehaviour
    {
    
    
        #region Unity Methods
        void Start()
        {
    
    
            
        }

        void Update()
        {
    
    
            
        }
        #endregion
    }
    #ROOTNAMESPACEEND#
}

【这篇文章虽然简短,但笔者认为还是非常实用的,无论是自己开发,还是工作中团队合作。一方面是自定义一些自己习惯的脚本初始化时的风格,减少一些重复多余的操作。另一方面一个好的header comments能让你和你的同事对这个脚本一目了然。下面提供一个我常用的hedaer comments。】

猜你喜欢

转载自blog.csdn.net/sylardie/article/details/125724740