在Unity中新建Lua和Text文件
本文为作者原创,转载请注明出处:https://www.cnblogs.com/zhaoqingqing/p/6394855.html
预览#
在Project视图中,扩展右键菜单,右键 – Create - Text File 创建一个Text文件,或者Lua文件。
关键点#
获取当前选择的路径,以Assets路径开头
var selectPath = AssetDatabase.GetAssetPath(Selection.activeObject);
C# API 创建一个文件,并指定文件编码格式
File.WriteAllText("D:\Code\xxx\xxx.lua", "-- test", Encoding.UTF8);
刷新Project视图中的文件
AssetDatabase.Refresh();
代码#
地址:https://github.com/zhaoqingqing/blog_samplecode/blob/master/unity_helper/Editor/CreateFileEditor.cs
完整代码如下
using System.IO; using System.Text; using UnityEditor; using UnityEngine; /// <summary> /// Unity Editor 下右键创建文本类文件 /// </summary> public class CreateFileEditor : Editor { [MenuItem("Assets/Create/Lua File")] static void CreateLuaFile() { CreateFile("lua"); } [MenuItem("Assets/Create/Text File")] static void CreateTextFile() { CreateFile("txt"); } /// <summary> /// 创建文件类的文件 /// </summary> /// <param name="fileEx"></param> static void CreateFile(string fileEx) { //获取当前所选择的目录(相对于Assets的路径) var selectPath = AssetDatabase.GetAssetPath(Selection.activeObject); var path = Application.dataPath.Replace("Assets", "") + "/"; var newFileName = "new_" + fileEx + "." + fileEx; var newFilePath = selectPath + "/" + newFileName; var fullPath = path + newFilePath; //简单的重名处理 if (File.Exists(fullPath)) { var newName = "new_" + fileEx + "-" + UnityEngine.Random.Range(0, 100) + "." + fileEx; newFilePath = selectPath + "/" + newName; fullPath = fullPath.Replace(newFileName, newName); } //如果是空白文件,编码并没有设成UTF-8 File.WriteAllText(fullPath, "-- test", Encoding.UTF8); AssetDatabase.Refresh(); //选中新创建的文件 var asset = AssetDatabase.LoadAssetAtPath(newFilePath, typeof(Object)); Selection.activeObject = asset; } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 易语言 —— 开山篇
· Trae初体验
2014-02-13 Unity2D Sprite Packer用法介绍
2014-02-13 Unity2D之让土豆人动起来