Unity笔记:修改代码执行的默认打开方式
使用 External Tools 偏好设置可设置用于编写脚本、处理图像和进行源代码控制的外部应用程序。
External Script Editor:选择 Unity 应使用哪个应用程序来打开脚本文件。Unity 会自动将正确的参数传递给内置支持的脚本编辑器。Unity 内置支持 Visual Studio Community、Visual Studio Code (VSCode) 和 JetBrains Rider。Open by file extension 选项会将设备的默认应用程序用于打开相关的文件类型。如果没有默认应用程序可用,设备会打开一个窗口,提示选择用于打开文件的应用程序。
详细说明可以查看Unity手册:Preferences - Unity 手册
但在项目开发时可能会出现多个项目解决方案,这时候为了方便,可能会在菜单中自定义打开。
在使用Unity提供的方法 EditorUtility.OpenWithDefaultApp 中会将解决方案使用默认的打开方式打开,如果电脑上有多个IDE时,默认打开方式可能不是想用的程序,这时候就可以使用 External Script Editor 设定的值来打开。
想拿到 External Tools 中的 External Script Editor 值,可以通过:CodeEditor.CurrentEditor 和 CodeEditor.CurrentEditorInstallation 来获取。
CodeEditor.CurrentEditor:获取当前代码编辑的可能执行文件包
CodeEditor.CurrentEditorInstallation:获取当前代码编辑器的安装路径
拿到当前 External Script Editor 执行程序的文件路径后,可以通过 CodeEditor.OSOpenFile 方法执行打开指定的解决方案。
public static bool OSOpenFile(string appPath, string arguments)
appPath:传入 CodeEditor.CurrentEditorInstallation 的值
arguments:传入指定的解决方案路径
示例:
[MenuItem("Tools/编辑XLua脚本", false, 99998)]
static void EditorGameScripts()
{
CodeEditor.OSOpenFile(CodeEditor.CurrentEditorInstallation, Path.Combine(Application.dataPath,"../LuaScripts.sln"));
}