效率工具之把终端“嵌入”资源管理器

2020-03-05 22:02:44 +08:00
 noclin

一直都比较喜欢 IDEA 的 Terminal 功能,可以直接在工作区域打开内嵌的终端,很方便。

于是基于 Win32API 写了个程序实现了类似的功能,希望能在 Windows 平台上提高一点使用终端的效率。

预览:

地址:https://github.com/NoCLin/terminal-in-explorer

3729 次点击
所在节点    分享创造
12 条回复
Owenjia
2020-03-06 00:29:53 +08:00
做的不错啊,跟 Dolphin 有点像,看介绍是新开了个无装饰的窗口?
Kisesy
2020-03-06 00:36:42 +08:00
有意思,我记得 conemu 好像也可以
geelaw
2020-03-06 05:47:35 +08:00
工具思路很好,代码一团糟,是未来的兼容性炸弹而且未遵守现在 Windows 编程的正确实践。
noclin
2020-03-06 07:25:54 +08:00
感谢支持

@Owenjia 是的

@Kisesy 我决定 coding 之前看了一下 conemu,但是似乎没找到设置位置大小,就决定自己写了,具体机制可能还得参考它,另外我加了个路径同步功能。

@geelaw 确实,这个程序只写了 2 天,目前只测试了 win10,各种异常处理也还没有做。代码的问题和 Windows 编程的正确实践您可以详细说说吗?
geelaw
2020-03-06 07:57:05 +08:00
这个程序的注册完全没必要使用管理员权限,你可以注册到 HKCU\Software\Classes 里。
它不能正确处理从 Open/Save (common) dialog 里点击的情况。
它的位置更新是低效率的轮询。
它获取当前路径的方式应该是使用 IFolderView、IPersistFolder2 而不是尝试理解标题。

更好的策略是自己 host 一个 IExplorerBrowser 并嵌入 console emulator。
noclin
2020-03-06 08:32:35 +08:00
@geelaw 感谢指导

1. 疏忽了,改成了 HKEY_CURRENT_USER\Software\Classes\Directory\Background\shell
2. 确实没有考虑到,以及很多小细节需要适配
3. 轮询是主要问题,我准备尝试学习一下 conemu 的做法
4. 学习到了,我改一下

一开始我想的就是自己 host explorer 控件,但是只能作为一个单独的程序,要集成到系统还得 hook 就没继续做了。

之前想的另一个方案是 Shell Extensions 直接集成进 Explorer,暂时先拿这版做原型吧😂
faketemp
2020-03-10 17:09:23 +08:00
@noclin Win7 x64 测试了一下 显示效果惨不忍睹……
调出的 cmd 没有透明度、且宽度无法自动匹配资源管理器(宽度更窄,显示在资源管理器左下角)

另外问一下 调用 cmd 窗口后 如何一键隐藏?? Esc ?

建议增加显示、隐藏的快捷键 比如双击 Ctrl 切换显示 /隐藏状态更方便
noclin
2020-03-10 20:57:13 +08:00
@faketemp 是的,目前的方案确实兼容性问题比较严重,最近会抽空把这些问题解决。

切换显示 /隐藏状态准备做成快捷键+右键。
faketemp
2020-04-12 17:12:28 +08:00
@noclin 持续关注中 ,有进展不
noclin
2020-04-17 20:43:15 +08:00
@faketemp 感谢关注,最近太忙了,可能得鸽一阵子。之前的方案更新位置问题比较大,正在重写,还有很多细节要打磨。
faketemp
2020-04-17 20:49:53 +08:00
@noclin 没问题
主要是兼容性问题 支持 win7+好一些

可以考虑:
磁吸位置自动适应
快捷键呼出隐藏
透明度设置
noclin
2020-04-17 21:48:48 +08:00
@faketemp 好的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/650226

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX