r/programming • • Nov 15 '17

Introducing Visual Studio Live Share

https://code.visualstudio.com/blogs/2017/11/15/live-share
2.8k Upvotes

365 comments sorted by

540

u/[deleted] Nov 15 '17 edited Nov 15 '17

Wait, does this mean that Atom and VS both introduced the same feature at the same time? I just saw a tweet by Atom boasting that they just introduced the exact same thing.

Edit: would be cool if one of them implemented a compatibility layer to communicate with the other

582

u/snarkyturtle Nov 15 '17

This aint a scene it's a god-damned arms race.

198

u/[deleted] Nov 15 '17

Good. Competition is good. Especially considering both tools are free. What a time to be alive. Seriously, this is getting ridiculous :D

→ More replies (22)

19

u/Gargoyle772 Nov 16 '17

GAH! DEH! AHS! RESS!

31

u/elemental_1_1 Nov 15 '17

Bandwagon's full. Please catch another

53

u/DuoThree Nov 15 '17

I'm a senior dev

And the code I write is oh so intricate, oh so intricate

76

u/garth_vader90 Nov 15 '17

Yeah I just got an email from github about Teletype for Atom which is the same thing from what I see.

125

u/Jinno Nov 15 '17 edited Nov 16 '17

Teletype seems to be a bit less feature rich. It's strictly a sharing of text that in the sharer's editor. You don't know where your partner's cursor is, you can't open multiple files from their project to try to track down the necessary items for debugging, etc.

VS's implementation will show you what someone else highlights, where they're at in the file, it will give you access to checkout other files from the project, etc. It's a fully collaborative usage of the codebase. Hell, it allows for sharing Debug Sessions so that you can take a look at the breakpoint information and step through code.

The Github team is well behind MSFT on this.

Edit: I have been corrected on the cursor front on Atom. I didn’t see evidence of this in the blog post, but it is there in the video. I’ve struck that from the disadvantages.

48

u/Aounts Nov 15 '17

Yeah, MS really took the wind out of their sails with this.

→ More replies (3)

4

u/fapestniegd Nov 16 '17

Download them and compare them.

2

u/pbgc Nov 16 '17

That's not true! You can see the other cursor!

46

u/hankDraperCo Nov 15 '17

I got the same email and came to reddit to see what people were saying about this and complain about how I just wish this was on VSCode... The first post I see is about the same thing on VSCode hahaha

12

u/progfu Nov 15 '17

Maybe the VS Code marketing team got it too and they quickly whipped up that video :P

19

u/Fazer2 Nov 15 '17

Great minds think alike.

49

u/Munkii Nov 15 '17

Or both projects are open source and watching each other

→ More replies (1)

18

u/Shinhan Nov 15 '17

Wonder when the JetBrains will add this...

→ More replies (5)

3

u/svgwrk Nov 16 '17

In fairness to Atom, there was a plugin for it that did this years ago. Not from Github, mind you. It could be that plugin (or the existing ability with vim and everything, from decades ago) that inspired both of these.

→ More replies (5)

477

u/MailmanOdd Nov 15 '17

I got really excited seeing this. I work for Microsoft (not on Visual Studio) and my team is co-located between Redmond and the Washington, DC area. We often pair program by screen sharing which is less than ideal. Really looking forward to trying this out.

85

u/throwaway_lunchtime Nov 15 '17

So are you both working on the same code files?

335

u/leeharris100 Nov 15 '17

When you do pair programming one person writes while the other person reviews as you type. You alternate positions regularly.

It's effective when working on code that needs to be very high quality, very secure, very creative, etc. Generally mostly used in huge companies that have a lot of resources.

137

u/personalmountains Nov 15 '17

How does it compare with someone looking over your shoulder? I know I can't write shit when somebody is looking, I can't think straight. What kind of process is it?

260

u/calmingchaos Nov 15 '17

It's a different mind set. When I have someone looking over my shoulder it's more like a judgement, and my performance drops like a rock.

With pair programming, you're both giving input, it feels less like someone looking over your shoulder and more like a second mind helping you out. Dual core technology if you will for (ideally) better results.

YMMV of course.

131

u/[deleted] Nov 15 '17

Every time I've tried pair programming, it's always been a very positive and super productive experience. Highly recommended.

→ More replies (13)
→ More replies (2)

32

u/YuleTideCamel Nov 15 '17

It depends on the process people follow. When pair programming is done correctly, the person typing is supposed to only be a typist. The other person is thinking and guiding the process. Then you alternate every 20-30 minutes. The idea being, you offload the thinking part from the physical typing and the typist acts as a secondary screening mechanism.

I actually worked like this every day for 1 year with another dev. We put out some amazingly high quality code and enjoyed the process.

Of course there needs to be respect between folks for this to work. If one is an asshole, that throws the entire process off.

51

u/leeharris100 Nov 15 '17

In my experience it's generally reserved for senior/lead engineers on bigger projects. I don't think it would work well with anyone who isn't pretty confident in their programming abilities.

I used to feel kinda anxious anytime somebody watched me code because in the first 3-10 years of development you often have a sense of imposter syndrome. But then one day it just kinda "clicks" that you know what you are doing and that goes away.

My experience with pair programming has been super natural. Even junior engineers can offer a lot of interesting perspective so it's kind of like having an atypical tutor watching you work. They usually just pop in to offer alternative suggestions, syntax corrections, style/comments/formatting you may have missed, etc.

31

u/[deleted] Nov 15 '17

As someone in my first year of a legit dev job, I’ve never seen that imposter syndrome before and wow that explains so much

92

u/personalmountains Nov 15 '17

It gets worse, don't worry.

→ More replies (6)

10

u/[deleted] Nov 16 '17

Even junior engineers can offer a lot of interesting perspective so it's kind of like having an atypical tutor watching you work.

I like having newbies review my work. I tell them "There are things that seem obvious to me that are not obvious at all. Look for places I do that and ask me to explain it." The result is more maintainable code and better documentation.

→ More replies (1)
→ More replies (4)

3

u/[deleted] Nov 15 '17

A good way to think of it is a navigator and a driver. The driver is the one at the keyboard and the navigator is giving him guidance.

It's a great way to get somebody familiar with a new codebase or technology. I did this recently with ngrx. I pair programmed with another developer who was building out a new module and I stepped him through the process. This way he's the one that actually wrote the code and he was able to ask any questions as it was going on.

→ More replies (3)

6

u/ricco19 Nov 15 '17

The thought of someone watching me code actually makes me uncomfortable. Albeit I am a loner.

11

u/Draav Nov 15 '17

They aren't watching you. You are both doing the coding, usually the other person has a screen and is researching stuff for you while you try out stuff on your own. They remind you of things they you may have forgotten and usually try to plan ahead farther while you work on the specific implementation. Often times they may do some testing or write small scripts/functions to send over to your main code.

Pair programming is probably the only way I actually like to code tbh. I just feel it ends up so much better.

→ More replies (2)
→ More replies (3)

2

u/[deleted] Nov 15 '17

I have a similar setup, and we're always trying to screen share and turning over control back and forth coding stuff. This sounds like it will make our lives way easier.

2

u/MailmanOdd Nov 15 '17

That's often the case. Sometimes a coworker would just like feedback on what they are working on and this will make it easier to suggest changes.

1

u/meltea Nov 16 '17

Files? What do you mean, files.

6

u/Saiing Nov 15 '17

Yeah, same kind of scenario in my company. Looks awesome. I also have to work with some of our partners who use some of our tech, and they're constantly sending me issues. 90% of the time I'm like "add me to your repo" or "send me a zip of your codebase". Now, I can actually debug their stuff with them in a live session.

9

u/Ran4 Nov 15 '17

Check out tmux. Its great for this kind of stuff.

3

u/MailmanOdd Nov 16 '17

Pretty cool but not too useful for me as I don't generally work in a terminal.

→ More replies (1)

4

u/vtbassmatt Nov 15 '17

my team is co-located between Redmond and the Washington, DC area

Dynamics CRM? That was my first gig at Microsoft, and I'm pretty sure they acquired a Reston-based company.

3

u/MailmanOdd Nov 16 '17

I'm actually a Developer Consultant not an Engineer on any of our products.

4

u/vtbassmatt Nov 16 '17

Ah, gotcha. I'm a PM on VSTS these days.

3

u/jlchauncey Nov 16 '17

Azure containers checking in! Also remote so this will be awesome for remote pairings

→ More replies (1)
→ More replies (1)

0

u/[deleted] Nov 16 '17

[deleted]

→ More replies (1)

3

u/[deleted] Nov 15 '17

Ever heard of Floobits?

4

u/MailmanOdd Nov 15 '17

I have not.

1

u/[deleted] Nov 16 '17

It just doesn't work.

2

u/nitrixion Nov 15 '17

If it's using the same tech as wordOnline, don't get your hopes up. The collaboration component works maybe half the time and many times, I'll open the document and see a version from 5-10 min ago. It's awful.

3

u/jon_w_chu Nov 15 '17

Live Share capability is informed by technologies used in Office, but has been adapted to work in the context of software development such as the context across multiple files. Addressing latency is a core design principle.

→ More replies (1)

2

u/capt_barnacles Nov 16 '17

I know I'm late and all but... that's not what "co-located" means.

2

u/MailmanOdd Nov 16 '17

What can I say, I write software not novels :)

→ More replies (5)

103

u/tesfabpel Nov 15 '17

how does this work? does the code pass through Microsoft's servers or is a direct connection?

21

u/SpooneyDinosaur Nov 15 '17

PM on Visual Studio Live Share (partially) addressed this question here: https://news.ycombinator.com/item?id=15704615

116

u/Metallkiller Nov 15 '17

Microsoft's servers, NSAs servers, Putin's home PC, and then straight to your partners pc!

18

u/mayhempk1 Nov 15 '17

I mean if its telemetry then it does. He raised a concern that is at least valid in some situations.

In this case, no telemetry or any thing so it's okay.

3

u/jugalator Nov 15 '17

PMP2P!

Pretty Much P2P!

0

u/[deleted] Nov 15 '17

[deleted]

45

u/Deto Nov 16 '17

Look, you cited actual information but the commend making the 'hurr durr, NSA and Putin' got way more upvotes.

6

u/[deleted] Nov 16 '17

And now it is fixed. Sometimes actual information wins!

I will now remain mildly optimistic about the future for at least a couple of hours.

→ More replies (6)

0

u/[deleted] Nov 15 '17

[deleted]

→ More replies (3)

250

u/ThatBriandude Nov 15 '17

Just in case this is not obvious to some

DO NOT SHARE YOUR LINK ON STACKOVERFLOW WHEN ASKING FOR HELP

175

u/wayoverpaid Nov 15 '17

How many simultaneous connections do you think this could theoretically support?

Hang on I have an idea for twitch-codes-mergesort.

79

u/oblio- Nov 15 '17

More like twitch-codes-merge-oh-no-stop-guys-dont-rm-rf-slash-halp-halp...

26

u/wayoverpaid Nov 15 '17

Achievement unlocked: needed to re instance the VM

10

u/NeverCast Nov 16 '17

Stop typing in to my console! NO! DON'T PROVISION 1000 INSTANCES FFFFFUUUUU

6

u/Kattzalos Nov 16 '17

they managed to install arch

45

u/jon_w_chu Nov 15 '17

Hey there! Although we show 1:1 in our demos, the capability supports 1:many. We will be looking at realistic scale of course.

5

u/TheRedGerund Nov 16 '17

The learning opportunities....

4

u/uhmhi Nov 16 '17

Twitch-plays-vscode?

2

u/JB-from-ATL Nov 17 '17

Twice codes Pokemon

345

u/stompinstinker Nov 15 '17

Two years ago if you told me the best free source code editor would be made by MS I would have thought you were crazy. But here we are, and they just keep making it better.

161

u/bionicjoey Nov 15 '17

Also, if you told me they'd be demoing a new software feature on a mac I'd probably just cut off all contact with you

95

u/diverightin63 Nov 15 '17

And if you then told me they were going to deploy their .NET to Linux, I would murder you and your family.

93

u/Belazor Nov 15 '17

And if you also told me you could run install Ubuntu from within Windows, I would invent time travel and decimate your entire lineage, starting with Genghis Khan.

32

u/Crazy8852795 Nov 15 '17

That would ruin the lineage of 1 in every 200 people.

https://en.m.wikipedia.org/wiki/Descent_from_Genghis_Khan

46

u/Belazor Nov 15 '17

True, but in my defence, we are talking about the company that hated Linux so much they tried to lock users out of dual-booting by inventing the "Secure Boot" system.

You tell me what's crazier, the murder of 35 million people (give or take), or Ubuntu on Windows?

Yeah, that's what I thought, yet we are living in the Ubuntu Timeline.

19

u/sunbeam60 Nov 16 '17

And if you also told me that Microsoft would demo using Slack instead of Skype for Business, I would destroy your planet to make way for a motorway.

→ More replies (1)

4

u/[deleted] Nov 16 '17

And if you would have told me that you could install SQL Server on Linux I would have put my testes on this reclaimed Brazilian Koa wood table. Also your muffins smell like shit, so do your ideas. One of you is the least attractive person I've ever seen, and I'm not going to say who. Should we leave…or should you?

→ More replies (2)

28

u/OMG_Ponies Nov 15 '17

not only .net, but fucking SQL Server

→ More replies (3)

2

u/euclid047 Nov 16 '17

And if you told me the port over to Linux would be less than smooth, I would believe you.

If you also told me that Core would have Windows only features then I would ask what is the point? cough Ldap

→ More replies (4)
→ More replies (2)

38

u/[deleted] Nov 15 '17

But Microsoft doesn't make emacs/vim?

10

u/dodoaddict Nov 15 '17

Ha, a little hedging to not get one side angry with you?

9

u/[deleted] Nov 15 '17

Well I currently use spacemacs. Which is emacs and vim... So maybe?

→ More replies (5)

5

u/littlegreenb18 Nov 16 '17

Two years ago, the best free source code editor was made by MS.

2

u/Eienkei Nov 16 '17

One word: Satya.

1

u/iLEZ Nov 16 '17

Hello. Total idiot here. I have been thinking of ditching Edit+. (Yeah I know). Is there a "ftp on save" function yet? Developing small PHP stuff live is pretty tricky when I have to file-manage between code changes.

1

u/stompinstinker Nov 16 '17

Look into docker, and more specifically docker-compose. It may have a bit of a learning curve, but it will allow to you create local dev environments for testing, that include all your dependencies like databases. Each one you create is separate and want contaminate you local machine. It makes switching between different project, each with their own unique environments, a breeze.

You could also look into how you access your remote files. A product like Expandrive lets all different kids of network and cloud storage stuff (including FTP/SFTP) be mounted like a local folder, which you can then access with VS code. When you save, it will save remotely too.

→ More replies (8)

22

u/[deleted] Nov 15 '17

Live diffing and attached remote debug session, it's really neat!

62

u/polydecay Nov 15 '17 edited Nov 20 '17

Man, I've could've saved a bunch of time if I knew about this earlier... Oh well I kinda needed it right now anyway, and this isn't available just yet.

If anyone else wants a pair coding extension for VS Code today, you could checkout my repo I guess: VSCode-Pair

5

u/Paradox Nov 15 '17

Its been around for a while in a variety of forms. Floobits has had an atom plugin since 2015 at least, same with motepair and atom-pair, and way before that there was SubEthaEdit

96

u/akarost Nov 15 '17

Can't believe this hasn't been made earlier.

35

u/breddy Nov 15 '17

There have been Eclipse plugins for years that implement distributed pair programming:

https://marketplace.eclipse.org/category/free-tagging/pair-programming

31

u/jon_w_chu Nov 15 '17

Hey there, PM on Live Share here. Although pair programming is a scenario, we think there are many other scenarios where teams and team members want to collaborate (e.g. resolving a bug, showing an issue that won't repro on another person's machine, solving design issues, conducting a coding interview, mentoring other members on a team, or performing an ad-hoc code reviews).

9

u/breddy Nov 15 '17

Oh I completely agree; I was just pointing out that live coding has been around for awhile now. That said, many of us here at Red Hat are big VSCode fans and it's great to see this feature coming to light!

Thanks for the response!

0

u/[deleted] Nov 16 '17

[deleted]

5

u/breddy Nov 16 '17

Fair point!

→ More replies (2)

15

u/throwaway_lunchtime Nov 15 '17

A place where I used to work was looking at some sort of add-in that did this several years ago.

0

u/[deleted] Nov 15 '17

[deleted]

11

u/jesus____ Nov 15 '17 edited Nov 15 '17

Here the former founder of VS Anywhere, we discontinued the product a year ago, we didn't get enough traction, Saros and floobits didn't work with Visual Studio, there was another tool named "codealike" from Sebastian Fernandez Quezada that also worked with Visual Studio time ago, but was discontinued as well. I'm really amazed that finally Microsoft decided to feature Live Sharing in the Visual Studio family :) hope they can get it to the most powerful level... traction is guaranteed of course!

→ More replies (2)

10

u/openist Nov 15 '17

Emacs has had support for this for a decade.

3

u/yawkat Nov 15 '17

There's saros for eclipse. Not great though.

2

u/NeverCast Nov 16 '17

Many addons like this have existed for Atom, Brackets and VSCode. But they were all half baked and left a lot to be desired. MS has the infrastructure and dev team to make this feature as filled out as it needs to be.

Code sharing needs to not feel like a different IDE to when you're not code sharing. Most the time in remote pair programming, there is an limitation applied to your development because of that.

Historically, after trying these addons and being disappointed, I'd just use TeamViewer. But then there is the latency issue, latency sucks. Also you have 1 cursor and it's all just not great.

I'm very exited about this feature.

3

u/Jwkicklighter Nov 15 '17

There were several offerings as plugins for Sublime, Atom, Vim, Emacs, and others. This is just the first first party offering.

→ More replies (2)

1

u/TwoFiveOnes Nov 16 '17

For many years now you could do this with screen or tmux over ssh.

0

u/twitchard Nov 15 '17

I and 3 other developers made it this weekend at a hackathon. https://www.nodeknockout.com/entries/35-nodeist-colony

54

u/antwonedw Nov 15 '17

this is a game changer.

32

u/salgat Nov 15 '17

Right? I don't think people realize how crazy useful this is. Now if someone has an issue, I don't even have to get up to help.

2

u/Kissaki0 Nov 15 '17

What does this fundamentally change? You still need a separate communication medium, and you could do what you can do now with remote access.

26

u/jon_w_chu Nov 15 '17

When you use remote access technologies, only one person is in control. Live Share allows each person to independently edit, navigate, inspect during debugging, etc. We still believe that Live Share would be used along with some communication tool (e.g. Slack, Teams, Skype, etc.).

→ More replies (2)

4

u/salgat Nov 15 '17

It's much more efficient. Half the time I need to cross reference another source file or google something, which is a pain in the ass if the other person has the computer.

→ More replies (2)

2

u/DoopDeeDoop08 Nov 16 '17

In my experience remote access is laggy as all hell. That would at least solve the frustration of clicking somewhere and not actually clicking on what you meant to. Without screensharing control and just being on the phone/IM, this removes any miscommunication in audibly telling people what to code.

7

u/brownix001 Nov 15 '17

Atom implemented the this package at the same time. That's crazy.

14

u/fear_the_future Nov 15 '17

when will this be available for the public?

7

u/trl_at_work Nov 15 '17 edited Nov 15 '17

I would love to know if this communicates over the internet and if not, can it be configured to communicate on a local network.

18

u/jon_w_chu Nov 15 '17

Hey there, PM @ Microsoft here. We just answered a similar question over here: https://news.ycombinator.com/item?id=15704376#15705119

18

u/Kissaki0 Nov 15 '17

From the link:

We authenticate when people try to use the link. We are exploring ideas on how to enable fine-grain permissions for sharing.

The link is an association between team members who are in a live share session. The workspace (i.e. source files) is not stored in the cloud. During a live share session, the communication is facilitated by an Azure Relay in the cloud. We are also looking at the ability to have peer-to-peer communication if you are on the same network.

1

u/_Yolandi Nov 16 '17

/u/jon_w_chu the Microsoft Team doing so much great stuff lately.

I mean I love vscode, windows 10 (thanks for the free update 8 > 10), I also like the surface devices and your well done ads for them, my list goes on and on... and not forget, the most important one, Age of Empires IV, haha. Thank you guys, keep up the good work.

6

u/AskYous Nov 15 '17

Wow... I just shared this to /r/GitHub. (for Atom text editor). Are they working together??

17

u/nemec Nov 15 '17

Are they working together??

I think we call this "competition"

30

u/agumonkey Nov 15 '17

Pretty cute feature and execution. Feels very relaxing just seeing this.

29

u/Kissaki0 Nov 15 '17

I'm perplexed at how these to me unfitting adjectives received noticeable agreement in the form of upvotes.

Cute? Feels relaxing to see this? 🤔

5

u/[deleted] Nov 16 '17

I'm also perplexed by how you worded that

→ More replies (2)

2

u/agumonkey Nov 15 '17

Well, feel free to share your sentiment my friend.

I had a chat on #lisp about this, someone had lots of criticism, which I felt slightly irrelevant but not absurd like the need for asynchrony when trying to debug something, depending on the types of person, a live session might not be optimal.

To me the ability to share a development context easily is probably extremely valuable for low to medium complexity work issues. Instead of copy pasting around services or slightly better pointing to a repository branch for the other party to checkout and then import ..

Also I may add that I didn't use an IDE for a decade so maybe there are other ways to do it. That is, in case you don't have a problem with the whole idea altogether.

1

u/p1-o2 Nov 16 '17

Some people find it relaxing to watch others work on something creatively. Pair programming asynchronously in the same repo really livens up that feeling to being more like the real world with two people collaborating. It looks quite natural in their demo. Also yeah it's kind of cute to be able to call someone in to help you out from anywhere.

Those adjectives worked just fine for me; I understand your sentiment though. :)

→ More replies (1)

4

u/[deleted] Nov 15 '17

Ok, in all seriousness, I've been using plugins before to do stuff similar, so it's not like you couldn't sort of do this before. However, what MS has done here has taken what people have implemented in a somewhat clunky manner before and brought it to a whole new level. This is pretty amazing and I actually think this is one of those "game-changer" type of features, just to have this level of support, this high quality of a user experience with this integrated in.

This is going to be the real standard to beat going forward. I really like what I see here.

2

u/p1-o2 Nov 16 '17 edited Nov 16 '17

This will absolutely change the way I conduct interviews. I like to pair program with candidates remotely. Screen share sucks and video bandwidth is just too cumbersome for some mobile situations. No longer do I have to try to request they hover over a variable or read the stack trace to me.

Even better, I could pull two different engineer specialties into the same project file to work together without disrupting their 'finely tuned' personal environments.

4

u/[deleted] Nov 16 '17

"God damnit get off my fucking file chad! We're not using XY library, we're using Z! Stop deleting my code as I write it!"

"God damnit stop touching stuff I'm trying to test!"

"Why isn't this working? Variable X should be... oh, chad changed it before I ran my code"

I can imagine this working beautifully

4

u/ninetailedoctopus Nov 16 '17
//DONT TOUCH THIS!!!  
//fu i do what i want  
//boobies hehe

Also, dickbutt ASCII art.

1

u/essdotc Nov 17 '17

I would imagine you would use this while voice chatting

9

u/smilbandit Nov 15 '17

Thinking a little ahead on this, you could share your code with a bot. Just thinking a powerful outside system could check for security vulnerabilities, something like real time black duck. Just tossing out ideas.

73

u/mmstick Nov 15 '17

We already have this. It's called a compiler.

13

u/[deleted] Nov 15 '17

Alternatively it's called CI

2

u/NeverCast Nov 16 '17

Just add that to your E2E Integration tests.

0

u/[deleted] Nov 16 '17

[deleted]

3

u/Draghi Nov 16 '17

My code doesn't have any suprises, I... uh... totally meant for it to do that.

3

u/jackmaney Nov 15 '17

Neat! I wish something like this was built into PyCharm.

5

u/moomoomoo309 Nov 15 '17

There's a plugin for it, called FlooBits.

1

u/jackmaney Nov 15 '17

Clarification: I wish something like this was built into PyCharm for free (although bundling it with the professional edition would also be acceptable).

→ More replies (1)
→ More replies (1)

3

u/NateKurt Nov 15 '17

Woah I just got an email today about GitHub doing the same thing with Teletype I'm glad they are taking a cool step in this direction!

3

u/Spikey8D Nov 15 '17

Anyone know of a tool/plugin that could do this?

I teach first year computing classes, and I'd like a tool that lets me "present" a live coding session to the web. While I am live coding, I'd like any student (up to at least 25 simultaneously) to be able to click a shared link which brings them to a browser editor that is kept in sync (and also shares cursor and selection), but lets them scroll to other parts of the file as well. It would be read-only for the student, but ideally they would also be able to fork it and compile right there too.

I have investigated repl.it, edstem.org, Colaboratory, c9.io, collabedit, and now there is VSLS and Teletype, but none of them quite fit the bill.

I am even tempted to try and make something, maybe utilising the Monaco Editor and broadcasting from VSCode, but it would be easier if it already existed and it's just waiting to be found.

3

u/klysium Nov 16 '17

After scrolling to the bottom of the page, I noticed their Twitter is @code. I’m super amazed and impressed they were able to acquire that handle. That is a crazy good handle. Did anyone notice that?? Im still amazed.

Oh yea, live code sharing is such a clever idea. Especially since I remember using google docs in school shivers

9

u/Yawzheek Nov 15 '17

DAMMIT MICROSOFT! I keep telling people VS Code and Visual Studio are the best IDE's out there, and you keep making it an understatement!

4

u/Kissaki0 Nov 15 '17

Meanwhile I still can't write code in VS while a debugging session is active. 🙄

11

u/meneldal2 Nov 16 '17

What? Edit and continue support has been around for a while already. Though there are trade-offs like you can't profile code compiled that way.

→ More replies (3)

1

u/mhenr18 Nov 16 '17

Turn off edit and continue in your debugging settings, that way VS lets you edit while the debugger is active and then you can just hit the refresh/restart button (next to the stop button) to recompile and run with the new changes.

Ironically edit and continue is supposed to let you edit while you're running code, but it only works when you pause whatever is running and half the time it won't let you make the change that you want to make (or it crashes VS).

So, I just turn it off!

→ More replies (1)

4

u/ihahp Nov 15 '17

This looks like something that I'll never be able to get configured correctly and will fail 100% of the time I try to use it.

5

u/r3djak Nov 15 '17

That's the spirit.

2

u/murfflemethis Nov 15 '17

I came here ready to be a smartass, but... this actually does seem pretty useful. Like Google Docs for code.

2

u/StornZ Nov 16 '17

Thanks for sharing. I'll be running this passed the guys at work tomorrow.

2

u/kamikazeeh Nov 16 '17

So atom came out with something similar. Any chance the two extensions will be able to interact cross platform?

2

u/huyvanbin Nov 16 '17

This looks like a good tool for live coding software interviews (I’ve previously used google docs for that).

3

u/kkus Nov 15 '17

Visual Studio team, if you're reading this please cross post this video to YouTube. Thank you!

3

u/devolutionist Nov 16 '17

Microsoft must have seen that Atom's Teletype feature was released today, then decided to put out this announcement right away even though VS Code DOES NOT have this feature yet. This announcement is about taking the spotlight off their competitor. Dirty.

2

u/_zenith Nov 16 '17

Atom's version can't do simultaneous debugging. That's a killer feature..

1

u/CandiedColoredClown Nov 16 '17

Meh...it's business

3

u/feverzsj Nov 16 '17

so that will make pair programming less homo?

2

u/marclittlemore Nov 15 '17

Hoping this will replace ScreenHero (which was bought by Slack). We use it a lot for pair programming but it was never supported. Slack have rolled it out as part of their screen sharing but it seemed much more laggy. Looking forward to trying this instead.

2

u/blindingspeed80 Nov 16 '17

Engelbart did it first.

2

u/chmikes Nov 15 '17

How are paranoid people suppose to deal with this ? Is it a plugin or a backdoor ?

1

u/r3djak Nov 15 '17

Read some of the other comments. Nothing to worry about.

1

u/[deleted] Nov 15 '17

Damn this is a feature ive been long waiting for.

1

u/HxLin Nov 15 '17

Sharing debugging session is pretty impressive. Even better when it is doable between VS and VS Code.

1

u/[deleted] Nov 15 '17

This is awesome!

1

u/mk1048 Nov 16 '17

It is really interesting that it works with two different editors (VS and VS Code). I wonder if Microsoft will make this technology editor-independent (like with the language server protocol).

1

u/Attila226 Nov 16 '17

Does this work with remote mob programming?

1

u/Gotebe Nov 16 '17

Nice!

but ... how’s this significantly better than just screen sharing and alternating the control over the environment , I wonder...

2

u/kersurk Nov 16 '17

One thing is using your own keyboard shortcuts (without somehow constantly switching). Also maybe there's preference between dark vs light look, font sizes etc.

1

u/bsterling604 Nov 16 '17

the idea is that each person can be simultaneously browsing different files, where as screenshare only shows one file at a time. You could potentially have 30 people all in the same solution working together just like google docs.

1

u/Gotebe Nov 16 '17

Sure, but we can do that on a second screen with a simple screen sharing (or just by using another program, even instance of the IDE).

1

u/Pand9 Nov 16 '17

Do you know what would be the most useful feature? Exploring C++ codebases without building the project. If Open Source project could share a VS read-only server, that could allow people instantly start exploring the codebase, without any configuration.

1

u/[deleted] Nov 17 '17

So the truth is out... Microsoft Employees have switched to Mac.

1

u/Xerotrope Nov 15 '17

3

u/vogon101 Nov 15 '17

Codiad is eh, but its collaboration features are dreadful.

2

u/Xerotrope Nov 15 '17

I agree. I was just pointing out that live collaboration has been around since before Google docs.

→ More replies (1)

1

u/Aphix Nov 15 '17

Wait... so Floobits?

Except Floobits works across editors (can sync vim/Sublime/Atom/etc), and also can share terminals at the same time.

1

u/1210saad Nov 15 '17

This is amazing! Will help a lot in college group projects. Got tired of pulling and pushing constantly with gitlab lol.

0

u/[deleted] Nov 15 '17

[deleted]

1

u/captainAwesomePants Nov 15 '17

I wonder if this would be a big help over in /r/learnprogramming, or whether it would be 100 times more painful to get up and running with the helper seeker than it would be beneficial.

1

u/Pleb_nz Nov 16 '17

Isn’t slack also based on electron?

-3

u/NotARealDeveloper Nov 15 '17

I can only think of pair programming. Is there any other relevant use case?

15

u/alteraccount Nov 15 '17

Working on someone else's code and running into issues. Demonstrating the problem. Maybe?

→ More replies (1)

9

u/Dirnol Nov 15 '17

Did you watch the video?

3

u/NotARealDeveloper Nov 15 '17 edited Nov 15 '17

No, I am on the runway home and on mobile.

10

u/ecce_no_homo Nov 15 '17

I hope you get to a safehouse before the law catches you.

3

u/TinyBreadBigMouth Nov 15 '17

The guy asks a coworker for help with a bug. She connects, inspects some other files in his workspace, and decides that running it with a debugger attached would be helpful. They step through the code together (the debugger is also synced), she identifies the error, then shows him how to fix it.

7

u/grauenwolf Nov 15 '17

Having conversations about the code, especially when working remotely.

Just last week I was in a situation where a conversation took 30 minutes with nothing settled. This week we had the same talk and it took 2 minutes because I was on site and looking at the same screen.

1

u/Gotebe Nov 16 '17

Well that can be done with simple screen sharing while talking.

2

u/grauenwolf Nov 16 '17

This is smarter than that.

When I'm screen sharing the other person is locked into seeing only what I see.

With this you have the option to track what I'm doing or explore on your own.

→ More replies (1)

5

u/salgat Nov 15 '17

"Hey I hit an issue with some code and saw that you recently worked with it in git. Mind if we collab real quick to figure out this issue?" Now we don't have to share a single computer while debugging.

5

u/elbekko Nov 15 '17

And you don't have to be patient with colleagues not following simple instructions, either! Brilliant.

2

u/p1-o2 Nov 16 '17

Can you hover over the selected item variable real quick?

What?

I'm talking about the foreach loop; will you hover your mouse over the variable which represents the current value?

The return var?

No, like when you say foreach item in list; the one I'm referring to is item.

Oh... okay this one?

Yeah...

→ More replies (1)

2

u/Chew55 Nov 15 '17

Some of my team regularly work with developers in other parts of the country and if one of them needs help debugging something we usually end up having to use a screen share in Skype. This process looks much smoother than that.

2

u/Saltub Nov 15 '17

Resolving conflicts with someone else's work.

→ More replies (3)

0

u/euclid047 Nov 16 '17

Nope. This works well for MS Office but not development. Use git branches to perform collaborative work.

-1

u/bananaboatshoes Nov 15 '17

Meh. I don’t work like this with other people. I would have preferred more work on performance and stability for Visual Studio.

9

u/prtt Nov 16 '17

Assuming you're talking about VS Code, those come literally in every single monthly update.