Unity中自定义应用程序打开Assets目录下指定类型的文件
在Unity使用VS2017打开unityShader文件时总提示错误:

我也一直没找啥原因,shader文件直接使用VSCode打开,当然其他类型的文件也可这样处理用相应的exe打开,如:pdf,txt等文件均可
具体代码如下:
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEditor;
4 using UnityEngine;
5
6 public class SetAssetsPathFilesDefaultOpenMode
7 {
8 [UnityEditor.Callbacks.OnOpenAssetAttribute(1)]
9 public static bool SingleSelect(int instanceID, int line)
10 {
11 return false;
12 }
13
14 [UnityEditor.Callbacks.OnOpenAssetAttribute(2)]
15 public static bool DoubleSelect(int instanceID, int line)
16 {
17 //给双击文件事件实例化一个ID并返回所选文件路径
18 string path = AssetDatabase.GetAssetPath(EditorUtility.InstanceIDToObject(instanceID));
19 //文件路径
20 string name = Application.dataPath + "/" + path.Replace("Assets/", "");
21 //指定打开文件类型
22 if (name.EndsWith(".shader"))
23 {
24 //系统进程
25 System.Diagnostics.Process process = new System.Diagnostics.Process();
26
27 System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
28
29 //设置窗口状态
30 startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
31
32 //指定打开软件(可以是可执行文件,也可以是系统上安装的应用程序)
33 startInfo.FileName = "F:/Windows_5/Microsoft VS Code/Code.exe";
34
35 //指定打开文件(路径不能有空格,否则认为时多个文件)
36 startInfo.Arguments = name;
37
38 process.StartInfo = startInfo;
39 process.Start();
40 return true;
41 }
42 //if (name.EndsWith(".pdf"))
43 //{
44 // System.Diagnostics.Process process = new System.Diagnostics.Process();
45 // System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
46 // startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
47 // //指定打开软件
48 // startInfo.FileName = "C:/Users/lenovo/AppData/Local/Google/Chrome/Application/chrome.exe";
49 // //指定打开文件(路径不能有空格,否则认为时多个文件)
50 // startInfo.Arguments = name;
51 // process.StartInfo = startInfo;
52 // process.Start();
53 // return true;
54 //}
55
56 return false;
57 }
58 }
Unity中自定义应用程序打开Assets目录下指定类型的文件的更多相关文章
- java 实现读取某个目录下指定类型的文件
		我这里是读取txt类型的文件,在指定的目录下有不同类型的文件 实现代码,读取txt类型的文件并打印出该文件的绝对路径 package com.SBgong.test; import java.io.F ... 
- <UnityTheGreat><001>获取指定目录下指定类型的所有文件的名称
		#region Environment Windows 10 Unity 2019.4.16f1c1 LTS VSCode 1.52 https://github.com/MirzkisD1Ex0/U ... 
- delphi遍历指定目录下指定类型文件的函数
		遍历指定目录下指定类型文件的函数// ================================================================// 遍历某个文件夹下某种文件,/ ... 
- 查找目录下指定类型的所有文件(maven 打包提取脚本)
		1 首先想到的是递归遍历目录 筛选出符合条件的文件 dir命令递归遍历目录 /b控制显示格式 /s递归 /ad 只显示目录 dir /b/s .\* 判断文件类型 操作数得用`` rem 取出文件扩 ... 
- 用PHP怎么删除某目录下指定的一个文件
		举个tp框架的例子 $User = M("message"); $a = $User->]['url']; unlink($url); $User->delete($i ... 
- 遍历指定目录下指定类型文件的函数(fatkun Fix版)
		// ================================================================ // 遍历某个文件夹及子文件夹下某种文件, // 使用说明 // ... 
- Unity获取文件夹下指定类型的文件数量
		有个文件夹里面有很多的图片,都是.png格式的,要是一个一个的拖到脚本上觉得很麻烦,就写了一个遍历添加的cars,变量是List<Sprite> 代码如下: using UnityEngi ... 
- windows 批处理删除指定目录下 指定类型  指定天数之前文件
		删除D:\test下5天前所有文件,如下: @echo offset SrcDir=D:\testset DaysAgo=5forfiles /p %SrcDir% /s /m *.* /d -%Da ... 
- Xamarin.Android 如何使用Assets目录下的文件
		原文:Xamarin.Android 如何使用Assets目录下的文件 个人原创,转载注明出处:http://blog.csdn.net/supluo/article/details/43672411 ... 
- Android开发之assets目录下资源使用总结
		预前知识: Android资源文件分类: Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.Java里面自动生成该资源文件的ID,所以访问 ... 
随机推荐
- Steam中将XBox手柄默认布局改为任天堂手柄布局的方法
			1. 在Steam菜单栏找到"查看",选择大屏幕模式. 2. 进入大屏幕模式后,在菜单界面找到"设置". 3. 在设置界面找到"控制器",选 ... 
- ibus 输入法导致输入卡顿的解决方案
			系统: Zorin OS 16 Pro 基于 Ubuntu 20.04 LTS 关键词:Linux 间歇性卡顿.输入法导致卡顿.无法输入 本问题发生的情形是系统间歇性的无法接受键盘输入,无意间发现切换 ... 
- 更新package.json里所有模块
			安装该插件 cnpm install -g npm-check-updates 或者 npm install -g npm-check-updates 在有package.json的目录执行 npm- ... 
- .NET C#导出解决方案的NuGet依赖关系
			前言 公司项目需要写DS设计文档,文档需要标识出来你的解决方案文件下的所有项目都使用了NuGet哪些第三方依赖,我们都知道sln下面的所有.csproj文件中的节点下会标识出对应的依赖,但一个一个对比 ... 
- AIRIOT物联网低代码平台如何配置OPC DA驱动?
			AIRIOT物联网低代码平台提供了丰富的驱动,兼容了市面上95%以上的传感器.控制器及数据采集设备等,并且在持续增加中,能够快速.便捷地实现数据采集与控制功能. AIRIOT物联网低代码平台如何配置O ... 
- handsontable有显示值与实际值的下拉框cobbobox扩展
			一.效果与使用 二.代码 /// <reference path="handsontable.full.min.js" /> //封闭在IIFE中 (Handsonta ... 
- tcc-transaction源码详解
			更多优秀博文,请关注博主的个人博客:听到微笑的博客 本文主要介绍TCC的原理,以及从代码的角度上分析如何实现的:不涉及具体使用示例.本文通过分析tcc-transaction源码带大家了解TCC分布式 ... 
- HTML——基本标签
			1.标题标签 <h1>标题1</h1> <h2>标题2</h2> <h3>标题3</h3> <h4>标题4</ ... 
- 使用 OWIN Self-Host ASP.NET Web API 自宿主 Swagger Swashbuckle 在线文档
			使用 OWIN Self-Host ASP.NET Web APIhttps://learn.microsoft.com/zh-cn/aspnet/web-api/overview/hosting-a ... 
- .NET6之MiniAPI(九):基于角色的身份验证和授权
			身份验证是这样一个过程:由用户提供凭据,然后将其与存储在操作系统.数据库.应用或资源中的凭据进行比较. 在授权过程中,如果凭据匹配,则用户身份验证成功,可执行已向其授权的操作. 授权指判断允许用户执行 ... 
