为什么会有这么奇怪的标题,你被吸引进来了?难道你在公众号看这种标题还不够么?非得卖个关子让你点击然后立刻退出增加他无效的阅读量。就像我现在用朋友圈为我博客导流一样。

说正题,他竟然是做。。。也就是我的工作,其实我是一个程序员,信奉DevOps,也就是我的工作中,开发和运维均有,甚至是全端工程师,时常必须几个任务并行。我现在用的系统是Windows10,Linux我只用服务器版,桌面版没用过,Mac没用过。所以我只说Windows,我不知道其他桌面管理器是如何的,总之我现在用得很不好。

我非常需要有一个管理窗口的窗口,在这个窗口,树形排列,分组,我可以通过小于两次点击到达我想要的位置,我可以保存窗口的位置,大小,重启也有效,多分辨率多个情景模式。如果你有,请解救我。

Windows,从名字来看他就是号称是管理窗口的,然而我经常迷失在窗口里,难道是我打开的方式不对?我原先最期待的就是Windows10的多桌面管理功能,然而在我实践以后发现他无法完全解决我的问题,还会带来一些新的问题。先介绍背景。

我一般会打开多少窗口

下面这些程序是固定程序,所以我电脑不敢随便重启,恢复状态很伤。这是常态,如果爆发的时候,比如处理紧急事件,P个图啥的,还要再多。

  • 4种浏览器,Firefox,IE,Edge,Chrome,是的,都开着,每个浏览器都有不同用途,兼容性专用,最常用。
  • 2种文本编辑器,Sublime Text 2,Atom。我非常喜欢Sublime Text 2的Hot Exit功能,如果Atom这个功能做得好,我就可以抛弃他了。
  • QQ、微信。QQ最多会有50个聊天窗口,我真的不是在兼职客服。。。微信不是一个很好的工作工具,但是很多人在用他,被迫。

  • 2种SSH客户端,SecureCRT,MobaXterm。
  • 2种远程桌面,MSTSC,Terminals。Terminals多窗口很好用。
  • 多个资源管理器窗口,本地目录,网上邻居。
  • Outlook。
  • CMD,中文叫命令提示符。。。
  • 4种知识管理工具:麦库记事,有道云笔记,Evernote,OneNote。
  • Adobe PDF。
  • VMWare Workstation, VirtualBox 2种虚拟机平台。我的Vagrant跑在VirtualBox内,里面有近十个虚拟机,VMWare用来做别的。

是的,你可以看到基本上每种相同的工具我都会用2个以上,每个工具都有一些优点和缺点让你无法取舍,所以,都用吧。

每个窗口会有多少个标签页

  • 浏览器,150个。有些固定标签页,比如任务管理系统、监控系统、内部知识库等等。有些来不及看,像我摆在案头图书馆借的书一样。我不知道是否还有人跟我一样手机上也开2x个浏览器标签页的。。。
  • 资源管理器,1x个。
  • 文本编辑器,N个窗口,每个窗口N个Tab。
  • 远程桌面,5个以内。
  • SSH窗口,1x个。所以Gitlab工程师加班太累了误删除了生产环境的目录,可以理解。
  • QQ聊天窗口,2x个。
  • CMD,5个以内。

开发的时候会有多少个

以开发一个Django网站为例,以下是我要打开的窗口

  • 代码窗口
  • 网页预览窗口1号,前端调试窗口1号
  • 网页预览窗口2号,前端调试窗口2号,通过隐私浏览隔离普通用户和管理角色。
  • 服务器调试窗口,也就是起个8000端口,看服务器的输出。
  • 服务器操作窗口,跑些命令,一般要2个。
  • CMD窗口,跑Vagrant。我使用Vagrant和VirtualBox保证开发和生产环境一致。
  • 数据库查询窗口,PHPMyAdmin或者客户端工具。
  • 文档窗口N个,作为面向搜索引擎和StackOverflow编程的程序员,Python语法我不熟,一个技术问题会打开多个浏览器标签页。
  • 发布服务器窗口,一般会有2个。
  • 发布服务器预览窗口。
  • 代码资源管理器窗口,代码目录,文档目录。也要多个。

当然,上面这些近20个窗口是不需要同时看到的,最常见的一个场景是你必须看着文档写代码,同时预览网页和调试窗口,也要看着服务器调试窗口,然后你可能需要在服务器操作窗口或者数据库查询窗口做些动作。当然最完美的情况是你可以看到所有窗口,或者你可以在堆叠的窗口缝里一下子找到你想要的窗口并且点击让他得到输入法焦点。但是我还是一直管不好。

你说:这?在我们老家这个叫做IDE。

是的,确实有这个东西。

集成开发环境 http://baike.baidu.com/item/%E9%9B%86%E6%88%90%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83/298524 (IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

很怀念十几年前一个简单的Delphi。以前的屏幕才800*600。现在屏幕、窗口、分辨率跟着技术难度一起通货膨胀了。

那我现在是怎么做的和遇到的问题

我现在用Windows10的多桌面管理,尽量在一个新的任务时起一个新的桌面,达到隔离Alt+Tab的功能。我用Windows+Ctrl+左右键切换桌面速度飞快。但是问题也很多。

  • 我尝试用3个显示器,加上4个桌面,理论上应该有12个桌面了,但是目前使用起来感觉屏幕空间还是会浪费,没有利用到极致。
  • 现在的显示器都是16*9甚至更高,左右两边的空间很浪费。
  • 我如果使用笔记本远程终端到办公用机,3个显示器的窗口会汇集到一个,然后再回到办公室,必须重新排列窗口到多个显示器。
  • 远程终端使用的客户端分辨率跟办公用机分辨率不一致,也会导致所有窗口位置错乱。
  • 写程序为了看的更多,需要更高分辨率,有些人推荐竖屏,但是竖屏必须分辨率达到2K,否则1080p作为横向分辨率达不到主流网页1200px的宽度。
  • 2K屏的左右分屏看代码空间还是不够,一行只能90个字符。2K屏如果是27寸字还是太小。
  • 有些应用是全局的,我希望他可以在所有桌面出现。这个目前做不到。比如QQ,OneNote等。
  • Taskbar不靠谱,我一直开着合并任务栏设置。多个桌面Taskbar pin的图标表现不一致,比如Outlook点击又会重新开一个,微信QQ不会。不会的会带到回到他所在的桌面。
  • 所以有时候QQ会获得焦点,你突然跑到第一个桌面。或者你打开一个文本文件,会跳到最后一个Sublime Text 2的那个桌面。
  • 我发现Chrome窗口有时候会消失,需要你在多窗口预览拯救他。或者远程桌面以后在不同桌面会乱掉。
  • 多个桌面跨桌面截图做不到。我经常需要用QQ或者微信截图,在截图上指点江山。
  • 窗口菜单没有直接移动到其他桌面的选项。桌面不能重命名。