从编辑器到剪切板
Unity编辑器里没办法像C# Winform 一样直接向系统剪切板添加文件夹,只能复制文本,但是PowerShell可以,在UnityEditor里又可以执行Powershell。所以通过执
从编辑器到编辑器
虽然可以通过powershell可以加入文件列表到剪切板, 但是没发现通过powershell粘贴,这边比较坑爹。不过可以通过代码获取到复制的文本:
GUIUtility.systemCopyBuffer
所以采取的办法是,如果在编辑器间复制,把文件列表路径,存起来序列化后复制到文本,然后粘贴时读取系统的剪切板 然后解析下路径列表,再通过C#执行复制粘贴擦操作。
此外,有时需要通过导出导入包来复制,以便识别到依赖。道理相同,在一边导出,把列表文本写到剪切板。
直接复制
[MenuItem("Assets/复制 - 编辑器复制", false, 21)]
private static void CopyToEditor()
{
ClipItem item = new ClipItem(ContentType.File);
foreach (var guiD in Selection.assetGUIDs)
{
string path = AssetDatabase.GUIDToAssetPath(guiD);
item.Values.Add(AssetPath2FullPath(path));
}
CopyClipboardItem(item);
Debug.Log("已复制" + Selection.assetGUIDs.Length + "条数据ÿ