Unity 3D 代码清空Unity的控制台(Unity 2017适用)

背景

总是点击那个Console窗口的Clear 来清log,如果高频率的点击也是挺烦的,何不找个快捷方式,让清理无形之中顺手拈来。

演示

演示

演示中是点击了菜单清空的,实际使用中可以使用快捷键的
并且直接脚本中调用这个方法也是可以的。
用处还是很多的,需要自己实战体会。

代码

Unity 2017 以前的版本:

using UnityEngine;
using UnityEditor;
public static class ShortCuts {
[MenuItem("Tools/Clear Console %&c")] // Ctrl + ALT + C 避免与唤出控制台的快捷方式冲突
public static void ClearConsole () {
var logEntries = System.Type.GetType("UnityEditorInternal.LogEntries,UnityEditor.dll");
var clearMethod = logEntries.GetMethod("Clear", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);
clearMethod.Invoke(null, null);
}
}

Unity 2017 版本(稍微有点变化):

using UnityEngine;
using UnityEditor;
public static class ShortCuts {
[MenuItem("Tools/Clear Console %&c")] // Ctrl + ALT + C 避免与唤出控制台的快捷方式冲突
public static void ClearConsole () {
        Assembly assembly = Assembly.GetAssembly(typeof(SceneView));
        Type logEntries = assembly.GetType("UnityEditor.LogEntries");
        MethodInfo clearConsoleMethod = logEntries.GetMethod("Clear");
        clearConsoleMethod.Invoke(new object(), null);
}
}

步骤

  1. 新建脚本 ShortCuts.cs,名字可以不一样;
  2. 复制下面的代码,粘贴到刚创建的脚本里;
  3. 按下 Ctrl + Alt+ C 清空控制台(不管是否播放状态均有效)。
  4. 也可以把方法直接写到你的脚本中,直接在debug前调用一下。

Tips:如果引用了UnityEditor,请将该脚本拖入到Editor文件夹内,或者将using UnityEditor使用预编译指令 包裹起来,示例如下:

#if UNITY_EDITOR
using UnityEditor;
#endif

参考

  1. 【Unity闲谈】用快捷键清空Unity的控制台 - CSDN博客 -http://blog.csdn.net/u011771335/article/details/51224397

  2. Clear Console Window - Unity Answers- https://answers.unity.com/questions/707636/clear-console-window.html

关键字:Unity 3D,脚本清空控制台,清空Console,Assembly.GetAssembly(typeof(SceneView)),Unity 2017,Unity 2017 可用

你可能感兴趣的:(Unity 3D 代码清空Unity的控制台(Unity 2017适用))