指定某一类型的文件在unity视图的打开软件(自需自改)

    ///设置Unity中打开.Shader文件的方式为SublimeText
    ///需要SublimeText的文件路径
    /// </summary>
    public class SetShaderDefaultOpenMode
    {
        [UnityEditor.Callbacks.OnOpenAssetAttribute(1)]
        public static bool ClickOnce(int instanceID, int line)
        {
            return false;
        }

        [UnityEditor.Callbacks.OnOpenAssetAttribute(2)]
        public static bool ClickTwice(int instanceID, int line)
        {
            string path = AssetDatabase.GetAssetPath(EditorUtility.InstanceIDToObject(instanceID));
            string name = Application.dataPath + "/" + path.Replace("Assets/", "");

            if(name.EndsWith(".shader"))
            {
                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:/Sublime Text 3/sublime_text.exe";
                startInfo.Arguments = name;
                process.StartInfo = startInfo;
                process.Start();
                return true;
            }
            return false;
        }
    }

猜你喜欢

转载自blog.csdn.net/itsxwz/article/details/81273503