網站首頁 編程語言 正文
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
相關推薦
- 2023-01-26 python獲取redis?memory使用情況場景分析_python
- 2022-05-14 解決Linux未啟用網卡的問題_Linux
- 2022-11-24 C++?如何使用棧求解中綴、后綴表達式的值_C 語言
- 2023-04-02 GoLang函數棧的使用詳細講解_Golang
- 2022-06-22 Git用戶簽名的修改取消及優先級拓展教程_其它綜合
- 2023-01-23 oracle數據排序后獲取前幾行數據的寫法(rownum、fetch方式)_oracle
- 2022-06-21 使用Apache?Hudi?加速傳統的批處理模式的方法_Linux
- 2022-05-06 Matplotlib安裝與配置
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支