# CAHTool **Repository Path**: YT_Unity/CAHTool ## Basic Information - **Project Name**: CAHTool - **Description**: Unity3D 自定义文件关联工具 小插件 - **Primary Language**: C# - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-06-26 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #CAHTool ##概述 Unity3D自定义资源文件编辑工具插件。 ##问题 - 在Unity3D编辑器中,双击或者右键打开一些资源文件(例如:文本,Shader等)时,编辑器使用默认的编辑工具。 可是有的时候,我们希望使用自定义的工具来打开/编辑这些文件,例如:使用文本编辑器打开.txt文件,使用Sublime Text 打开.shader文件等。 ##条件 - Unity3D提供ScriptableWizard类来快捷创建简易的扩展编辑器窗口。 - Unity3D提供OnOpenAsset编辑器属性命令来拦截资源文件打开事件。 ##方案 1. 用一个配置文件来记录那些我们希望使用自定义工具打开的文件的扩展名,编写扩展编辑器窗口来编辑这个配置文件。 1. 编写扩展编辑器代码,通过OnOpenAsset编辑器属性命令拦截资源文件打开事件,并从文件路径中获取到文件扩展名。 1. 检查这个文件扩展名是否在配置文件中有记录,如果没有则不处理拦截,让Unity3D调用其默认的工具来打开文件, 否则处理拦截,通过调用Application类的OpenURL方法,让Unity3D使用操作系统中对应文件类型的默认编辑工具 来打开文件。 1. 手动在操作系统中设定各类文件类型的默认打开程序,例如设定.shader文件的默认编辑器为Sublime Text,设定.fbx 文件的默认编辑器为Maya等。 ##实现 - CAHEditor.cs 绘制扩展编辑器窗口,编辑文件扩展名配置文件。 - CAHandler.cs 拦截资源文件打开事件,选择性处理拦截。