V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
noclin
V2EX  ›  分享创造

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

  •  
  •   noclin · 2020-03-05 22:02:44 +08:00 · 3726 次点击
    这是一个创建于 1723 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    • “嵌入”explorer,比黑框好看
    • 自动同步 explorer 的路径到终端

    预览:

    1.gif

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

    第 1 条附言  ·  2020-03-08 23:38:16 +08:00

    20200308 更新

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

    @Owenjia 是的

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

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

    更好的策略是自己 host 一个 IExplorerBrowser 并嵌入 console emulator。
    noclin
        6
    noclin  
    OP
       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
        7
    faketemp  
       2020-03-10 17:09:23 +08:00
    @noclin Win7 x64 测试了一下 显示效果惨不忍睹……
    调出的 cmd 没有透明度、且宽度无法自动匹配资源管理器(宽度更窄,显示在资源管理器左下角)

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

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

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

    可以考虑:
    磁吸位置自动适应
    快捷键呼出隐藏
    透明度设置
    noclin
        12
    noclin  
    OP
       2020-04-17 21:48:48 +08:00
    @faketemp 好的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:16 · PVG 04:16 · LAX 12:16 · JFK 15:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.