using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System;
public class ShaderEditor : Editor
{
[UnityEditor.Callbacks.OnOpenAssetAttribute(1)]
public static bool step1(int instanceID, int line)
{
return false;
}
//双击打开文件
[UnityEditor.Callbacks.OnOpenAssetAttribute(2)]
public static bool step2(int instanceID, int line)
{
//找到文件相对路径
string strFilePath = AssetDatabase.GetAssetPath(EditorUtility.InstanceIDToObject(instanceID));
// 文件绝对路径
string strFileName = System.IO.Directory.GetParent(Application.dataPath) + "/" + strFilePath;
// Debug.Log(strFileName);
if (strFileName.EndsWith(".shader"))
{
//设置环境变量IDE软件
string strSublimeTextPath = Environment.GetEnvironmentVariable("Subline_text3");
//Debug.Log(strSublimeTextPath);
if (strSublimeTextPath != null && strSublimeTextPath.Length > 0)
{
//开启进程
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = strSublimeTextPath + (strSublimeTextPath.EndsWith("/") ? "" : "/") + "sublime_text.exe";
//Debug.Log(startInfo.FileName);
startInfo.Arguments = "\"" + strFileName + "\"";
process.StartInfo = startInfo;
process.Start();
return true;
}
else
{
Debug.Log("Not Found Enviroment Variable 'SublimeText_Path'.");
return false;
}
}
return false;
}
}
双击shader脚本,用sublinetext打开shader脚本
最新推荐文章于 2021-09-24 15:12:47 发布