What tools exist to facilitate pair programming with Visual Studio when the programmers are not in the same physical location? At the moment we are thinking voice (Skype?) plus remote desktop (VNC? TeamViewer?), but it would be good to know of other suggestions and experiences. Also, is there anything more integrated with Visual Studio?

A bit more background: we are two experienced developers with who have collaborated well for a long time on a large mature project (ASP.NET, Windows Forms and SQL Server). However we are not usually working on the same part of the code base at the same time. We intend to spend some weeks doing substantial refactoring and it would be ideal if we were able to do this work with a pair-programming approach.

  • 1
    you may use GoToMeeting tool, it requires subscription though
    – Yusubov
    Commented Aug 10, 2012 at 10:22
  • 1
    skype also has a "share desktop" feature, which I've used for a similar purpose.
    – TZHX
    Commented Aug 10, 2012 at 10:54
  • 2
    @TZHX Isn't Skype's screen-sharing read only? One of the main points of pair programming is having two keyboards with one editor.
    – shamp00
    Commented Aug 10, 2012 at 11:20
  • 1
    @TZHX: Have a look at the first paragraph of the Wikipedia entry, especially the bit where it says "the two programmers switch roles frequently". That's not possible unless you can "share" desktops. Commented Aug 10, 2012 at 11:56
  • 2
    Am I the only one who is disappointed by the level of support for remote pair programming in modern IDEs? I mean, the Self IDE supported remote pair programming over the network in 1987, long before the term "pair programming" was even invented and at a time when most people didn't even have a network. Heck, Doug Engelbart demoed extensive remote pair programming in 1968! 44 years later, Visual Studio, Eclipse, NetBeans, IntelliJ and friends still don't even come close. Commented Aug 10, 2012 at 12:42

3 Answers 3


You're on the right track when you say you need voice and remote desktop software, irrespective of whether you're going to be using Visual Studio or other tools to collaborate. I don't use Visual Studio myself, so I can't answer the part of your question about any tools integrated with it, but I do work as part of a distributed team and there are a whole heap of choices out there for you to pick from.

For VoIP, Skype is a common choice and one I've used a lot in the past, but I have to say I'm not a great fan of what it's become (ads and the beautiful simple interface has been replaced with a rather counter-intuitive one), so I tend to use either Trillian to talk to my Skype contacts, or C3 (which is actually intended for online gamers but is also great for general VoIP communication, is much less of a resource and bandwidth hog and is completely free). I found Google Talk's "feature" of asking you "Are you still there?" after a couple of hours while you're clearly still talking a bit annoying, as there's usually no point in keeping the tab in the foreground, so often we missed the question and got thrown out. Quality-wise, there wasn't much between the three on a broadband connection; if anything, I'd give the edge to C3.

As for web conferencing (or desktop sharing) software, which you'll need in order to view each other's desktops and control each other's mouse/keyboard for paired programming, I've used Netviewer commercially (my client had a license) in the past (before they were bought up by Citrix) and more recently TeamViewer, which is similar from a pure desktop sharing point of view but seems to have a few less features (or maybe I just haven't discovered them yet). We are also considering OpenMeetings but I haven't used it much yet so can't make an informed recommendation on that one.

Wikipedia's comparison pages seem to be kept quite up-to-date if you'd like more options to pick from:



Most of the commercial ones tend to have at least free trials, so make sure you try before you buy.

Once you've got the right tools set up, there's not that much difference between doing XP while sitting next to each other and while sitting in different parts of the world. (And there are actually benefits, e.g. you can't knock over the other guy's coffee cup and you can keep your own favourite keyboard and mouse settings.)

  • 2
    Oh, one more bit of advice: when each of you has a mouse, make sure you communicate well ("you drive", or "let me drive for a sec"), otherwise it's a bit irritating when both are using the mouse at the same time and you keep mis-clicking... ;-) Commented Aug 10, 2012 at 11:39
  • screenhero.com Commented Jun 19, 2014 at 6:55
  • @CoffeeAddict: You're more than welcome to add your own answer to this question, or add a comment to the question, but adding it as a comment to an answer isn't the right place for it, and the link without any other info isn't very helpful to others ;-) Commented Jun 20, 2014 at 3:27

Have you tried VS Anywhere?

Is what you are looking for, allows you to share code and designers from Visual Studio and worlwide,

Is free for students, open source projects and non-commercial use

Works with VS2010 and VS2012

take a look https://vsanywhere.com


  • VSAnywhere has been discontinued. This is not an acceptable answer anymore
    – rassa45
    Commented Nov 23, 2016 at 19:23

I've never tried it, but GoToMeeting is probably a perfect fit here -- it natively handles voice, video and screen sharing so you don't have to have two separate solutions. I haven't used it for coding, but I've used it for collaborating remotely on documents where we pass control back and forth and it has worked pretty seamlessly.

This probably doesn't apply in your case but it does not handle areo or glass effects at all.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.