以下内容笔者个人翻译自: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。】