配对非远程编程工具
我目前的工作是在 Windows 机器上进行认真的结对编程。我们都有一套键盘、鼠标,还有两个显示器,这对于切换谁是司机非常容易,但在会议中有一些点我想在我的搭档同时开始编写测试正在写实现。
我想知道是否有任何程序可以让我在同一台计算机上有效地拥有两个光标和键盘焦点。如果它们不存在,那么我愿意尝试我自己的解决方案,但我想了解如何最好地实现这一点。我最熟悉.Net 3.5技术,但我也了解Java,并且愿意学习C++来解决这个问题。
如果我自己创建解决方案,我会沿着能够获取一个硬件设备(即安装的特定鼠标)的输入并阻止 Windows 移动指针的道路,而是独立移动我自己的程序指针。
I am currently in a job where we practice serious pair programming on windows machines. We both have a set of keyboards, mice, and we have two monitors, which works well for switching who's the driver really easy, but there are some points in the session that I would like to start writing tests at the same time that my pair is writing implementation.
I am wondering if there is any program that would allow me to have effectively two cursors and keyboard focuses on the same computer. If they don't exist then I am willing to experiment with my own solution, but I would like input as to how to best accomplish this. I am most familiar with .Net 3.5 technologies, but I also know Java and am willing to learn C++ to solve this problem.
If I was creating the solution myself I would go down the road of being able to grab the input of one hardware device (i.e. a specific mouse that's installed) and prevent Windows from moving the pointer, and instead move my own programs pointer independently.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我曾经做过一件事:
拿两张桌子并将它们面对面放置,这样当每个开发人员坐在桌子旁时,他们都会面对另一个开发人员。
每个开发人员都有两台显示器,其中一台插入另一开发人员的计算机。
每台计算机都设置为将其屏幕镜像/克隆到另一台显示器。这意味着每个开发人员都面对面,而且每个开发人员都可以看到对方在她的计算机上正在做什么。
然后,每个开发人员都会安装名为“Synergy2”的免费软件 (http://synergy2.sourceforge.net/)在她的计算机上进行配置,以便当开发人员将鼠标光标移过屏幕边缘并移向另一个监视器可见的一侧时,开发人员可以与其他开发人员的界面进行交互。
这样,你们就可以随时看到对方在做什么,并且可以根据情况的需要,流畅地从驾驶转向骑猎枪。
有时,这最终会像经典方法一样工作,其中一个开发人员总是开车,另一个开发人员总是骑着猎枪,但它至少提供了独立和共同工作的机会。
事实上,我想我会建议周一和我现在的同事一起尝试一下!
Something I did once:
Take two desks and place them up facing against each other so that when each developer sits at a desk they are facing the other developer.
Each developer gets two monitors, one of which is plugged into the OTHER developer's computer.
Each computer is set to mirror/clone its screen to the other monitor. This means that each developer is facing each other but also each developer can see what the other one is doing on her computer.
Then, each developer installs the free software called "Synergy2" (http://synergy2.sourceforge.net/) on her computer and configures it such that when the developer moves her mouse cursor over past the edge of her screen towards the side that the other monitor is visible, the developer can then interact with the other developer's interface.
This way, you can both always see what the other is doing AND also fluidly move from driving to riding shotgun for each other as the situation demands it.
Sometimes this ends up working like the classical method where one dev is always driving and the other is always riding shotgun but it at least gives the opportunity to work both independently as well as together.
Actually I think I will suggest trying this out with my current workmates on Monday!
查看您的评论后,您似乎拥有一台带有多个键盘的计算机,并且希望两个人使用同一台计算机,但输入不同的程序。我曾经编写过一个程序来执行此操作,但它仅适用于自定义应用程序。
如果您愿意支付 100 美元左右,可以尝试以下几种可能的计划:
所有上述程序均旨在与一台计算机和多个显示器/键盘/鼠标一起使用。
顺便说一句,具有多个显示器的单台计算机的术语是“多头”;具有多个显示器和键盘的单台计算机的术语是“多座”。
After looking at your comments, it seems like you have a single computer with multiple keyboards, and want to have two people using the same computer, but typing into different programs. I wrote a program to do this once, but it only worked with custom applications.
If you're willing to pay $100 or so, there are several possible programs you can try:
All of the above programs are designed to be used with a single computer and multiple montors/keyboards/mice.
BTW, the term for a single computer with multiple monitors is multi-head; the term for a single computer with multiple monitors and keyboards is multi-seat.
经典的结对编程是指 2 名程序员坐在 PC 前,但只有一名程序员编写代码。
Classic pair programming is when 2 programmers sitting at the PC, but only one programmer writing the code.
我使用 VNC,但 RDP 也可能可以工作。我连接到我合作伙伴的 VNC 服务器,我可以看到他的桌面,在他的屏幕上打字,移动他的光标等。但是,当我想查找 API 或自己进行一些编码时,我可以最小化窗口,将其移动到另一个显示器,或者只是将我的浏览器/编辑器放在它上面。
I use VNC, but RDP could probably be made to work as well. I connect to my partner's VNC server and I can see his desktop, type on his screen, move his cursor, etc. However when I want to look up an API or do some coding of my own I can minimize the window, move it to the other monitor, or just put my browser/editor over it.
您可能还想看看 MultiMouse。
You may also want to take a look at MultiMouse.
我不知道你在工作时是否做了任何测试,但总有一个廉价的低预算补偿的解决方案,你可以只为单个类编写代码,然后将其发送过来并在你需要时导入重新完成。
示例情况:
您正在为某事制作表格申请,并且希望其中有一个自定义时钟来显示经过的时间。当一个人在主机上(如果需要的话,有更多的测试能力?)制作表格并编写代码时,第二个人在一台便宜的计算机上编写经过时间的时钟的类..所以可以是导入后,可以通过“Namespace.Class.Variable”调用 vairables。这将是允许两个人同时工作的另一种选择,如果你们俩坐在一起,我认为您仍然可以看到对方在做什么,并且仍然可以在其他人的作品上打字的工作。这可能比 2 台电脑(每台电脑有 2 个屏幕)更好;P
I dont know if you do any testing while you're working on it, but there is always the solution of a cheap low budget comp where you can just write the code for a single class and then just send it over and import when you're done.
Example Situation:
You're making a Form Application for something and you want a Custom clock in there to show Elapsed time. While one person is on the Main Machine (has more power for testing if required?) making the form and doing the code for that, the second person is on a cheap computer writing the Class for the Time Elapsed Clock.. so is can be imported and then vairables can be called by "Namespace.Class.Variable". This would be another Option to allow both people to work at the same time, and if you're both sat next to each other, as I assume you could still see what the other is doing and still have access to typing on the others piece of work. This might be a better option than 2 computers with 2 screens each ;P