日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Unity腳本自動添加頭部注釋的全過程_C#教程

作者:布小禪 ? 更新時間: 2022-03-24 編程語言

Unity腳本自動添加頭部注釋

就是創建.cs文件時自動添加作者名,創建時間,文件名等

看示例,我們在Unity的project面板下先創建一個Scripts文件夾,然后在Scripts文件夾下創建一個腳本,命名為:Test.cs

然后就是這樣:

因為這個是我已經成功的設置過了才會有這樣的頭部注釋

1. 修改Unity模板

首先找到你的Unity的安裝路徑,找到這樣的文件夾,文件名字是和版本相關的

然后打開文件夾,一路找到Editor\Data\Resources\ScriptTemplates文件夾

然后嘛,打開一個叫做81-C# Script-NewBehaviourScript.cs.txt的文件,打開

是這樣:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

    #ROOTNAMESPACEBEGIN#
public class #SCRIPTNAME# : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        #NOTRIM#
    }

    // Update is called once per frame
    void Update()
    {
        #NOTRIM#
    }
}
#ROOTNAMESPACEEND#

這個就是我們的腳本創建的模板文件,我們創建的每個腳本文件長什么樣,都是跟這個東西有關系的

我們只需要在上面加上注釋,當然還是不夠的

加上

/**
 * ==========================================
 * FileName:#FileName#
 * Author:#Name#
 * CreatTime:#CreateTime#
 * NowPath:#path#
 * ==========================================
 */

然后保存退出

再創建一個腳本試試看,就會多出這些東西,當然這些都是寫死的,固定的

我們可以看看僅此的效果:

是吧,只是寫死的

2. 通過代碼修改為動態的

注意到我創建的Editor文件夾了嗎?

雖然那個是我自己創建的,但是Unity中某些文件夾就是具有著某些特殊的作用

比如這個Editor它的作用就是:

以Editor命名的文件夾允許其中的腳本訪問Unity Editor的API。如果腳本中使用了在UnityEditor命名空間中的類或方法,它必須被放在名為Editor的文件夾中。Editor文件夾中的腳本不會在build時被包含。
在項目中可以有多個Editor文件夾。

然后我們先創建一個Editor文件夾,然后再在這個文件夾下面創建一個腳本,名字隨意都行,然后寫代碼

using UnityEngine;    
using UnityEditor;	// 被繼承的類所在的命名空間
using System.IO;	// IO文件操作命名空間
using System;		// C#基礎功能命名空間
using System.Text.RegularExpressions;	// 正則表達式的命名空間

public class TitleSet : UnityEditor.AssetModificationProcessor
{
   private static void OnWillCreateAsset(string path)
   {
       path = path.Replace(".meta", "");   // 這里跌path是你的項目主路徑Asset/Scripts/文件名
       if (path.EndsWith(".cs"))    // 判斷是否是c#文件
       {
           string fileName = Regex.Match(path, @"[^/]*$").Value;    // 通過正則拿到僅含文件名的字符串
           string str = File.ReadAllText(path);    // 獲取創建的文件名的全部內容
           str = str.Replace("#Name#", "布小禪").Replace("#CreateTime#", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")).Replace("#FileName#", fileName).Replace("#path#", path);    // 將頭部注釋替換
           File.WriteAllText(path, str);   // 將替換后的內容寫入文件,將原內容覆蓋
           AssetDatabase.Refresh();   
       }
   }
}

代碼里面的注釋已經讓代碼很清晰了,所以我就不多說了

你想自己添加別的信息,也可以添加

結語

原文鏈接:https://blog.csdn.net/m0_52883898/article/details/122312657

欄目分類
最近更新