做编辑器扩展开发时,假如我们生成一个文件到Assets之外的目录,要查看它的时候,需要从系统路径一步步打开到那个目录。
Unity给我们提供了一个API可以直接打开指定目录,类似Project窗口右键文件选择“Reveal in Finder” 从系统窗口显示文件。
EditorUtility.RevealInFinder(string outputPath);
利用这个API我们可以做诸如编译成功后直接跳转到文件所在目录的操作,方便直接查看。
假设我们用编辑器生成了一个level1.txt文件 位于 configfiles目录中,点击对话框中的确定,就可以直接打开显示它。
先看下效果
代码如下:
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEngine;
public class ShowSystemFinder {
[MenuItem("UnityAsk/DoTest")]
private static void DoTest()
{
var outputPath = "configfiles";
if (!Directory.Exists(outputPath))
{
Directory.CreateDirectory(outputPath);
}
File.WriteAllText(Path.Combine(outputPath,"level1.txt"),"this is level one");
if (EditorUtility.DisplayDialog("UnityAsk的Unity3D小技巧","我完成了","确定"))
{
EditorUtility.RevealInFinder(outputPath);
}
}
}
创建ShowSystemFinder.cs文件,并放到Editor目录下。