日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lua------------------Unity3D研究院编辑器之打开unity不可识别的文件(十三)

發布時間:2023/11/29 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lua------------------Unity3D研究院编辑器之打开unity不可识别的文件(十三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Unity3D研究院編輯器之打開unity不可識別的文件(十三)

?雨松MOMO?【Unity3D拓展編輯器】?圍觀8597次?9 條評論?編輯日期:2017-03-02?字體:大?中?小

?

有些特殊后綴名的文件在unity里是不可識別的。如下圖所示,這里我把文本的后綴改成了*.xx 這樣unity就不認識了。那么雙擊就沒反應了,我想做的就是在雙擊此類文件的時候指定一個應用程序打開它。

?


代碼中我指定了用sublime來打開后綴是.xx的文件。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; public class MyAssetHandler { ????[OnOpenAssetAttribute(1)] ????public static bool step1(int instanceID, int line) ????{ ?????? //string name = EditorUtility.InstanceIDToObject(instanceID).name; ?????? // Debug.Log("Open Asset step: 1 (" + name + ")"); ????????return false; // we did not handle the open ????} ????// step2 has an attribute with index 2, so will be called after step1 ????[OnOpenAssetAttribute(2)] ????public static bool step2(int instanceID, int line) ????{ ????????string path = AssetDatabase.GetAssetPath(EditorUtility.InstanceIDToObject(instanceID)); ????????string name = Application.dataPath + "/" + path.Replace("Assets/", ""); ????????if (name.EndsWith(".xx")) ????????{ ????????????System.Diagnostics.Process process = new System.Diagnostics.Process(); ????????????System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); ????????????startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; ????????????startInfo.FileName = "D:/Program Files/Sublime Text 3/sublime_text.exe"; //改成能夠打開.lua文件的IDE工具即可 ????????????startInfo.Arguments = name; ????????????process.StartInfo = startInfo; ????????????process.Start(); ????????????return true; ????????} ?????? // Debug.Log("Open Asset step: 2 (" + name + ")"); ????????return false; // we did not handle the open ????} }

這樣就OK啦。我在雙擊的時候sublime就打開啦。

?

?

如果想直接定位在某一行,比如lua文件的某一行。 Windows下可以直接設置VS打開,但是MAC下沒有, 不過可以傳入文件路徑 和文件的 行數直接定位。

?

C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 static bool OpenFileAtLineExternal(string fileName, int line) { #if UNITY_EDITOR_OSX string sublimePath = @"/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl"; if(File.Exists(sublimePath)){ System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName =sublimePath; proc.StartInfo.Arguments = string.Format("{0}:{1}:0",fileName,line); proc.Start(); return true; }else{ return InternalEditorUtility.OpenFileAtLineExternal(fileName, line); } #else return InternalEditorUtility.OpenFileAtLineExternal(fileName, line); #endif }

?

轉載于:https://www.cnblogs.com/w-wfy/p/7763005.html

總結

以上是生活随笔為你收集整理的lua------------------Unity3D研究院编辑器之打开unity不可识别的文件(十三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。