cmd 找到8080对应进程_为Unity搭建完善的的Cmd工作环境

前言

我们在使用Unity开发游戏的时候,往往会需要GM工具来测试游戏稳定性,在游戏中呼出对话框输入命令行执行对应GM代码是非常高效的(下图来自B站Up:https://www.bilibili.com/video/BV1v741187To)

b232d0dffaea77e9ad670d8aae54f63a.png

此外,对于项目中不断增加的MenuItem编辑器拓展,每次使用工具都要去翻找对应的条目也是很麻烦的一件事,尤其是对于嵌套层次稍深的条目。。。

bec27677b562f6b574b1bb49a52e0f1d.png

如果有个插件可以在Editor中输入Cmd执行对应MenuItem代码就好了,幸运的是上面提到的两个问题,我都找到了解决方案

正文

Runtime Cmd-UnityIngameDebugConsole

首先是我们Runtime的Cmd,推荐:https://github.com/yasirkula/UnityIngameDebugConsole插件

下载之后我们只需要把

104f000810e9182b58b93d54e8dd4a4f.png

放到场景中即可

如果我们想要在游戏中根据命令执行某个方法(这是最简单直接的用法,同样还支持参数传递,返回值,参数重定向等多种功能,可以去插件Readme查看更多)

[ConsoleMethod("测试await/async的Log","这是一条测试await/async的Log")]
        

然后打开Console,在对话框输入对应Cmd命令(自带智能提示和补全功能),选中Cmd,点击回车即可运行

394f59302984f05cee9aa95be5e68c3f.png

Editor Cmd-MonKey Commander

然后是Editor下的Cmd(如果只是在Unity编辑器中,他可以同时担任Editor和Runtime的Cmd),推荐:https://assetstore.unity.com/packages/tools/utilities/monkey-productivity-commands-119938?locale=zh-CN

对于它的自定义Cmd方法,官网文档有很详细的介绍:https://sites.google.com/view/monkey-user-guide/command-creation

比如我们想让一个原本MenuItem方法变成我们Cmd启动的,可以这样

[Command("ETEditor_RsyncEditor","Rsync同步",Category = "ETEditor")]
        

然后我们开启Monkey Command Console(默认热键是`,可以在Setting中进行修改

3bf88e5aa308f4875d05f3e3a8d9d7a7.png

输入对应Cmd,然后选中,点击回车即可运行

654a1f1097a5e82aa6f9d51fc0d2f1cd.png

我在使用Monkey Commander中遇到了一个奇怪的问题(Unity 2019.4.8 ltf):每次修改代码进行编译的时候都会报这个错误

525a66a3c6ee70151d3c2dd4d4061039.png

猜测应该是Unity 2019 Editor底层的缓存机制更改,导致插件运行到这部分代码时会出错,所以我们可以使用dnSpy对其dll进行更改并且重编译即可

db88d68e82668551b906e9c7fb98d7f6.png

总结

这两个插件的Cmd实现核心原理都很简单,都利用了C#强大的反射机制,但是他们提供的周边拓展如果自己实现的话,需要颇费一些功夫

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值