小编Mik*_*son的帖子

有没有办法将宽屏显示器分成两个或多个虚拟显示器?

像大多数开发人员一样,我已经爱上了双显示器.我不会完全理解他们的善良; 把它作为给定的.

但是,它们并不完美.你似乎永远不会把它们排成一行"恰到好处".你总是以轻微有趣的角度使用显示器.当然挡板总是挡住了.这是相同的显示器.不同的显示器问题更严重 - VMWare的多显示器功能甚至不能用于不同分辨率的显示器.

当您使用多个监视器时,其中一个成为您关注的主要监视器.您的焦点可能会从一台显示器转移到另一台显示器,但在任何时候您通常只关注一台显示器.这有例外(WinDiff,Excel),但通常就是这种情况.我建议拥有一台具有多个小型显示器所有优点的大型显示器将是一个更好的解决方案.

宽屏显示器非常棒,但很难有效地利用所有空间.如果您正在编写代码,则通常在窗口的左侧工作.如果在宽屏显示器上最大化编辑器,窗口的右侧将是白色的海洋.像WinSplit Revolution这样的程序将有助于组织你的窗口,但这只是解决症状,而不是问题.即使使用WinSplit Revolution,当您最大化窗口时,它也会占据整个屏幕.您无法将窗口锁定到屏幕的特定部分.

这是虚拟监视器的用武之地.

真正好看的是位于现有驱动程序之上的视频驱动程序,但允许将单个监视器虚拟化为多个监视器.控制面板会将您的单个物理监视器视为两个或更多虚拟监视器.该软件甚至可以支持虚拟边框来强调正在发生的事情,或者您可以选择无缝模式.像WinSplit Revolution和UltraMon这样的程序仍然有效.此虚拟视频驱动程序允许您将物理监视器切片并切割成任意数量的虚拟监视器.

有谁知道这样的软件是否存在?如果没有,是否有任何萌芽的Windows显示驱动程序大师愿意接受挑战?

我没有追踪可用的无数虚拟桌面/窗口管理器程序.我对这些程序感到沮丧.它们起初看起来很好,但它们通常有一些奇怪的行为,并且与其他程序(例如WinSplit Revolution)不兼容.

我想要真实的东西!

multiple-monitors

64
推荐指数
2
解决办法
10万
查看次数

处理源控制系统中的多个变更集

我有一个相当罕见的源控制问题.在这里的示例中,问题出现在Perforce上,但我怀疑许多SCM会出现同样的问题,尤其是分布式SCM.

Perforce支持更改列表(如果您愿意,还支持更改集).变更列表支持两种常见用法:

  1. 提交更改列表时,提交是原子的,以便提交所有文件或不提交任何文件.这是大多数人在提到变更列表时所谈论的标题功能.

  2. Perforce支持多个更改列表.基本上,当您签出文件时,您告诉它它属于哪个更改列表.所以,如果你正在开发一个花哨的新电子邮件功能,它需要花费数月的时间才能完成数百万美元,并且有人从技术支持中找到了一个必须在昨天修复的bug,你不必从头开始整个项目的新分支.您可以将错误文件检入新的更改列表,修复问题,检查新的更改列表并返回新电子邮件功能的实际工作,就好像什么都没发生一样.

在大多数情况下,一切都很好.但是,当您实现电子邮件功能时,您正在整个地方进行数以万计的更改,尤其是在main.h中,并且恰好在开始修复错误时,您会发现您必须进行的微小更改也在main.h. 新功能的更改列表已经检出main.h,因此您无法轻松将其放入更改列表中以进行错误修复.

那你现在怎么办?你有几个选择:

  1. 创建一个新的clientspec.Perforce中的clientspec是库中的文件/目录列表,以及要复制所有内容的本地目标.因此,您可以创建项目的第二个副本,而无需对电子邮件功能进行任何更改.

  2. 做一个软糖.备份修改后的main.h副本并还原此文件.然后,您可以自由地将main.h签入bugfix更改列表.您修复了该错误,检查错误修正更改列表,然后将main.h签出到电子邮件功能更改列表中.最后,合并您在开始时所做的备份中的所有更改.

  3. 您确定您对main.h所做的所有更改都没有副作用或依赖项,因此您只需将main.h移动到bugfix更改列表中,进行更改并将其签入.然后再将其重新检入电子邮件功能更改列表.显然,这种方法存在两个问题:首先,实际上可能存在您未考虑的副作用,其次是您已损坏版本组织.

选项1可能是最干净的,但并不总是实用的.我正在开发的一个项目有数百万行代码和一个非常复杂的构建过程.设置新环境需要一天的时间,因此对于5分钟的错误修复来说实际上并不实际.

选项3是一个糟糕的选择,但它是最快的,所以它可以非常诱人.

这留下了选项2,这是我通常使用的选项.

有人有更好的解决方案吗?

我为这个冗长的问题道歉,但我在StackOverflow上发现,充分考虑问题可以得到更好的答案.

version-control perforce

10
推荐指数
1
解决办法
1389
查看次数

在Windows下克隆Mercurial存储库时使用硬链接

我在Windows XP下使用Mercurial(使用TortoiseHg发行版),我想在克隆存储库时使用NTFS硬链接.开箱即用Mercurial不会这样做.我已经读过需要启用win32file python扩展.到目前为止,我没有成功完成这项工作(在mercurial.ini中的扩展部分添加win32file条目似乎不起作用).是否有一种简单的方法来启用它?

windows mercurial hardlink

7
推荐指数
1
解决办法
941
查看次数

如何在Sybase ASE中调试存储过程?

是否有一个来自Sybase或其他地方的好工具可以让我在Sybase ASE中调试存储过程?我需要能够设置断点和观察点.

以前,在Sybase ASA(而不是ASE)中,我使用Sybase Central来执行此操作.ASE有一个插件,但我怀疑它会让我调试程序.

debugging stored-procedures sybase-ase

5
推荐指数
1
解决办法
1万
查看次数

捕获一个重复的组

我试图使用.NET正则表达式解析如下所示的字符串:

H3Y5NC8E-TGA5B6SB-2NVAQ4E0
Run Code Online (Sandbox Code Playgroud)

并使用Split返回以下内容:H3Y5NC8E TGA5B6SB 2NVAQ4E0

我根据特定字符集验证每个字符(请注意,字母'I','O','U'和'W'不存在),因此使用string.Split不是一个选项.每组中的字符数可以变化,组的数量也可以变化.我使用以下表达式:

([ABCDEFGHJKLMNPQRSTVXYZ0123456789]{8}-?){3}
Run Code Online (Sandbox Code Playgroud)

这将恰好匹配3组,每组8个字符.任何或多或少都会使比赛失败.只要它正确匹配输入,这是有效的.但是,当我使用Split方法提取每个字符组时,我只得到最后一组.RegexBuddy抱怨我已经重复了捕获组本身,我应该在重复组周围放置一个捕获组.但是,我没有尝试这样做能达到预期的效果.我一直在尝试这样的表达式:

(([ABCDEFGHJKLMNPQRSTVXYZ0123456789]{8})-?){4}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

由于我在代码中生成正则表达式,我可以通过组的数量来扩展它,但我希望有一个更优雅的解决方案.


请注意,字符集不包括整个字母表.它是产品激活系统的一部分.因此,可以删除任何可能被意外解释为数字或其他字符的字符.例如字母'I','O','U'和'W'不在字符集中.

连字符是可选的,因为用户不需要顶部输入,但如果用户完成了复制和粘贴,它们就可以在那里.

regex .net-2.0

3
推荐指数
1
解决办法
6813
查看次数

WinForms的iPhone UI控件

有谁知道我在哪里可以找到模仿iPhone上的WinForms控件?我有兴趣使用Visual Studio进行一些iPhone原型设计,如果我可以让控件看起来像本机iPhone控件那么会很方便.

我知道我可以在Mac上使用Interface Builder,但我不想这样做.我只想玩各种想法,我在Visual Studio中会更快.

iphone controls cocoa-touch winforms

3
推荐指数
1
解决办法
4185
查看次数