作为一个习惯于偷懒的程序,重复性的无聊内容是最让人无奈的事,就比如我们创建Unity脚本之后,需要手动调整生成的新脚本的格式、编码、内容;如果我们要编写的是编辑器或者服务器端脚本,需要修改的内容就会更多等等,因此我们要寻求一种偷懒的解决办法,针对这个问题,之前也使用过一些解决办法,今天就索性总结一下:
1、找到Unity版本对应的安装路径,修改对应的脚本模板:
XXX\Editor\Data\Resources\ScriptTemplates\下的模板,直接修改其格式、编码,这样之后在使用时,就可以省略其修改;如果需要修改其内容,则可以在脚本模板中使用一些通配符,然后在脚本生成中进行替换处理,比如我们将模板修改如下:
// Created by #DEVELOPER# on #CREATEDATE#.
using UnityEngine;
using System.Collections;
 
public class #SCRIPTNAME# : MonoBehaviour
{
    #region Some Comment
    
    #endregion 
    
    void Start ()
    {
        
    }
    
    void Update () 
    {
        
    }
}
然后针对性的写一个Editor进行处理,监听创建事件:
using UnityEngine;
using UnityEditor;
using System.Collections;
 
public static void OnWillCreateAsset (string _path)
{
    _path = _path.Replace(".meta", "");
    int tIndex = _path.LastIndexOf(".");
    string tFile = _path.Substring(tIndex);
    if(tFile != ".cs" && tFile != ".js" && tFile != ".boo")
    {
        return;
    }
 
    tIndex = Application.dataPath.LastIndexOf("Assets");
    _path = Application.dataPath.Substring(0, tIndex) + _path;
    tFile = System.IO.File.ReadAllText(_path);
    
    tFile = tFile.Replace("#CREATEDATE#", System.DateTime.Now.ToString("d")).Replace("#DEVELOPER#", PlayerSettings.companyName); 
 
    System.IO.File.WriteAllText(_path, tFile);
    AssetDatabase.Refresh();
}
该Editor脚本可以打包成unity,放入对应的XXX\Editor\Standard Packages\下,以后每次使用时,直接导入。
2、针对MonoDevelop工具本身进行扩展,XXX\MonoDevelop\Addins\目录下,放入扩展的插件,可以参考下
MonoDevelop file templates for Unity C# scripts,本身提供了可下载的插件,我们可以进行自身定制:不过由于MonoDevelop相对于VS的不足,因此,可能需要由扩展Mono改为扩展VS工具。
3、实现自身的脚本模板:此时我们仍然有较大的灵活性:
1)Unity本身是个很好的工具,给我们提供了很灵活的接口:
让我们先观察下XXX\Editor\Data\Resources\ScriptTemplates\下的模板命名,分析下命名规则,其实是有规律的,所有的模板命名都符合:
编号(可能是显示顺序)—创建时要显示在Unity中的问题—脚本创建之后默认的命名 . 脚本的扩展名 . txt
因此,我们可以将自己的模板放置在本目录下(Unity需要重启),这样在Unity创建时,选择我们自身的模板就可以按需创建了;同时结合方法2,我们就可以更懒了。
2)我们也可以选择自己创建模板,这里我们可以参考MOMO大神的博客:
 
这样合计合计,综合各种方法,我们就可以安心大胆的偷懒了!
凡此种种,重复性的劳动总能找到偷懒的方法的!

修改Unity脚本模板的方法合计的更多相关文章

  1. 如何修改新建脚本模板-ScriptTemplates(Unity3D开发之十五)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/44957631 ...

  2. 定制自己的Unity脚本模板

    有时候想给脚本添加符合自己编程习惯的内容,或是一些个性化信息.而作为一个多多少少有点强迫症的人,这种东西要加就得每个脚本都加上,不然看着多不爽! 于是就得每添加一个脚本就去修改一下,很麻烦. 但是,在 ...

  3. 使用vs2010编辑Unity脚本,配置方法

    在Unity界面上.选择Edit->Preferences->External Tools,External Script Editor一项即为编译器. 以Unity3D 4.3.4 f1 ...

  4. unity之定制脚本模板

    1.unity的脚本模板        新版本unity中的C#脚本有三类,第一类是我们平时开发用的C# Script:第二类是Testing,用来做单元测试:第三类是Playables,用作Time ...

  5. Tips12: 私人定制 专属的Unity3D 脚本模板

    在使用U3D的过程中,新建一个C#脚本,它包含着空的Start()和Update()函数.  根据个人习惯的不同,可能有些人有着自己的脚本风格,每次进去都增删改很麻烦,这里介绍一个更改新建脚本模板的方 ...

  6. 《转》Unity3D研究院编辑器之创建Lua脚本模板

    Unity里能创建 c#脚本模板,但是如果我想创建Lua脚本模板怎么办呢?拓展一下编辑器吧. 设置一下Lua脚本的模板地址 :  Assets/Editor/Lua/Template/lua.lua ...

  7. Unity 脚本的未来发展

    新技术之IL2CPP 最近,我们谈到了Unity 的WebGL . 在那篇文中我们简要谈论到脚本在 WebGL  中的运行的新技术称为"IL2CPP" .然而IL2CPP 所代表的 ...

  8. Unity3d自定义脚本模板

    这是一个小技巧,打开Unity安装目录,如: C:\Program Files (x86)\Unity\Editor\Data\Resources\ScriptTemplates /* * * Tit ...

  9. 5. Unity脚本的执行顺序

    Unity是不支持多线程的,也就是说我们必须要在主线程中操作它,可是Unity可以同时创建很多脚本,并且可以分别绑定在不同的游戏对象身上,他们各自都在执行自己的生命周期感觉像是多线程,并行执行脚本的, ...

随机推荐

  1. Navigation学习笔记

    ***************************** 使用storyboard导航********************************* storyboard方式相对简单. 在弹出来 ...

  2. java 容器类大集结

    这个世界是程序员的世界,归根到底是数据的世界,要统治这个世界,首先要学会征服数据. 没有最好的,只有最合适的,如何在不同的环境先选择最优的存储的结构呢?且看下文分解: 以下内容部分来自网络,参考: h ...

  3. 关于Java(介绍)

    基于Java官方指导文档,开展学习 Java是什么 Java 是编程语言,也是一个平台 特性 简单 可移植 面向对象 分布式运算高性能 健壮 安全 动态 体系结构中立 记忆宫殿:恋爱是件简单的事,但放 ...

  4. Tarjan系列算法总结(hdu 1827,4612,4587,4005)

    tarjan一直是我看了头大的问题,省选之前还是得好好系统的学习一下.我按照不同的算法在hdu上选题练习了一下,至少还是有了初步的认识.tarjan嘛,就是维护一个dfsnum[]和一个low[],在 ...

  5. hdu 4442

    一道超级easy的贪心 一眼看出了他的本质: 代码: #define mod 31536000 #include<cstdio> #include<algorithm> #in ...

  6. js template

    http://garann.github.io/template-chooser/ http://www.gbin1.com/technology/javascript/20120917-javasc ...

  7. Android 模拟登陆 保存密码(信息)到手机中 文件信息读取

    package com.wuyou.login; import java.io.IOException; import java.util.Map; import android.app.Activi ...

  8. 【网络流24题】 No.3 最小路径覆盖问题 (网络流|匈牙利算法 ->最大二分匹配)

    [题意] 给定有向图 G=(V,E).设 P 是 G 的一个简单路(顶点不相交) 的集合.如果 V 中每个顶点恰好在 P 的一条路上,则称 P 是 G 的一个路径覆盖. P 中路径可以从 V 的任何一 ...

  9. 【HDU 3949】 XOR (线性基,高斯消元)

    XOR Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  10. 打造属于自己的Altium Designer 3D封装库,不需要懂专门的三维设计软件

    看到Andy_2020发的帖子“Altium Designer专题”之后,对Altium Designer的3D功能很感兴趣,着手自己做一个AD的3D封装库.刚开始按照Andy介绍的方法,学了两天So ...