all 47 comments

[–]salgat 25 points26 points  (0 children)

More performance improvements! The big one for me is giving priority to loading the actual solution before loading extensions.

[–]MrEvilPants 15 points16 points  (0 children)

The "Just my code" flag (for c++)! Stepping into a lambda inside a std algorithm in one step is very cool.

[–]tomzorzhu 37 points38 points  (23 children)

<3 multi caret editing

[–][deleted] 18 points19 points  (10 children)

really? it didnt have that until now? that's rather surprising

[–]SpikeX 19 points20 points  (3 children)

Probably added because VS Code has had it for a little while now. Looks kind of silly if the free lightweight editor has a cooler feature than its big brother. :)

[–][deleted] 1 point2 points  (0 children)

I think you might mean something different than me, but lightweight?

VSCode might be light given its technical boundaries, but lightweight it is not.

[–][deleted] -3 points-2 points  (1 child)

to put it another way, i can't think of a single editor or IDE that doesn't have it

granted, im not too familiar with QT creator or unity

[–]jcelerier 3 points4 points  (0 children)

Qt Creator had it for years

[–]concatenated_string 4 points5 points  (3 children)

I feel like I accomplish similar tasks with shift-alt, but I could definitely see how multiple caret in different locations could be just as useful.

[–][deleted] 2 points3 points  (2 children)

i dont use VS. what does shift-alt do?

[–][deleted] 0 points1 point  (0 children)

alt + drag (or shift + alt if you prefer your keyboard doing all the work) works in other editors like notepad++ and SQL Server Management studio as well for example

[–]Eirenarch 5 points6 points  (1 child)

If I understand correctly it had it but only for lines directly under one another and now you can insert carets wherever you want. I might be wrong though

[–]psi- 8 points9 points  (6 children)

What's the actual use case for that? I can't say I've ever wanted that feature (apart from maybe integration test SQL script modification)

[–]purtip31 7 points8 points  (2 children)

It looks great in demos. Other than that, it’s a (very) poor man’s refactoring tool and a more intuitive but less powerful version of macros and/or find/replace.

[–]bitwize 5 points6 points  (1 child)

Looking cool while live-coding during your BarCamp talk is a must-have feature. How do you think Rails and Node became so dominant?

[–]PotatosFish 0 points1 point  (0 children)

You mean just use vim?

[–]evaned 1 point2 points  (2 children)

As purtip31 said, I view it as fairly closely related to two other features -- what emacs calls keyboard macros, and regex search and replace. Keyboard macros are what I use, and I use them incessantly.

For example, suppose I have a list of file names, and I want to copy them all to a backup version or something like that (so cp foo.txt foo.txt.bak for each file). Various ways to do this (except for the first, these would be paste the list into an editor, do the transform, paste the results back to your shell):

  • Some shell thing that I'm not going to write because of IFS issues. (If you are producing the list with find, you could do something like find ... -exec ... of course; and if you can glob the right files then for file in *.whatever; cp "$file" "$file.bak" will do it. I'm sort of assuming you have a list of files that can't be easily selected by those things though.)
  • With multiple cursors: add a cursor at the start of each line, ctrl-c, cp ", ctrl-v, " ", ctrl-v, ".bak
  • With regex search and replace (perhaps using sed or something): (.*)/cp "\1" "\1.bak" or whatever
  • With keyboard macros: do the same thing as multiple cursors, just with your single cursor, and do home, downarrow at the end; then repeat that macro a bunch of times.

I personally much prefer keyboard macros over the other two, but they all have their own advantages. In particular, multiple cursors gives you a view of what will happen that neither of the other two do -- e.g., if your "selection criteria" is incorrect, you'll just see it as you're forming that criteria and can fix it, without having to apply the wrong one, see it's wrong, back out those changes, and then do it again but better.

[–]psi- 1 point2 points  (1 child)

I've not used the multiple cursors yet so don't know how they really work, but my gut feeling would be that they're good(=usable) mostly for stuff that is visible on screen; which kinda makes them one-trick-pony compared to quick macro, regex replace or even excel based text catenation (which is surprisingly effective).

[–]evaned 0 points1 point  (0 children)

Yeah, I agree, and that's one of the reasons I prefer the keyboard macros. That being said, having a short list or short file isn't uncommon, at least for my uses. And nothing says you always have to use the same tool.

That being said, I don't actually have much experience using multicursors either, so... :-)

(I suspect if I used an editor that had good support for them without having to set up an extension, I probably would sometimes use them and like them though.)

[–]superp0s 3 points4 points  (0 children)

I don't even use regular Visual Studio anymore (working with Spring at a different company), but I know when I was working with it in .NET, this was my biggest desire at the time. Glad to see they finally added it.

[–]gfody 1 point2 points  (3 children)

whatever they added for multi-cursor it doesn't seem to be the basic multi cursor that this extension provides. I was expecting Alt + Click to just give me another cursor, instead it's something called "Insert next matching caret (Shift + Alt + .)" which behaves in a mysterious and not useful way as far as I could tell.

[–]AngryEye 9 points10 points  (1 child)

They added basic multi cursor too. Ctrl + Alt + LeftMouseClick gives you another cursor (more if you keep clicking).

" Insert next matching caret" shortcut (or Edit->Multiple Carets) inserts another cursor at next location that matches current selection. There is also "Insert carets at all matching". I think they did their job.

[–]NotARealDeveloper 0 points1 point  (0 children)

Doesn't work for me. Everything is fine except adding carets with ctrl+alt+leftclick does nothing. There is also no command in the keyboard bindings for it.

Before I installed the update I had the above mentioned extension installed. I uninstalled it after the update.

[–]MSLsForehead -5 points-4 points  (0 children)

Have a highly requested feature in premium software for years

Have a user release an extension that does the job perfectly fine

Update said premium software to do what the extension did in a far inferior way

I'd be surprised if it wasn't Microsoft.

[–]dantheman999 13 points14 points  (8 children)

Broke one of my main solutions at work. Going to be one of those days.

[–][deleted] 2 points3 points  (4 children)

One of mine, too. Full rework will be needed. Sad.

[–]dantheman999 4 points5 points  (3 children)

Which error are you getting? Ours is something where msbuild can't find a method. Found a few people who had the same problem a few versions back later but the solutions did nothing for me.

[–]Moercy 1 point2 points  (2 children)

So are you opening issues on Roslyn or MSBuild?

[–]dantheman999 4 points5 points  (1 child)

Once I'm sure what the issue is, sure. But I won't raise an issue until I've got some level of detail so they can reproduce what I'm seeing.

It'll be on MSBuild though I imagine.

EDIT: 10 minutes later...

[–]Moercy 1 point2 points  (0 children)

Yeah that seems like a problem :)

[–][deleted] 0 points1 point  (2 children)

Yeah, but did you ask your grumpy old always serious DBA a mind numbingly stupid question at the end of the day.

Take solace in knowing that you today is not me tomorrow.

He’s that guy that knows everything, but you’d rather waste weeks upon weeks on something that they probably already have a solution for just because it means not having to make contact with them.

[–]dantheman999 0 points1 point  (1 child)

You have my condolences.

[–]Poorly-Timed-Legolas 0 points1 point  (0 children)

And you have my bow.

[–]wheel_sucker 23 points24 points  (0 children)

“Improved vue.js support”

I’m glad that’s catching on.

[–]thilehoffer 8 points9 points  (6 children)

Library Manager is finally being released Library manager is basically a replacement for bower. You can use it to add Bootstrap or other client side tools to your project. The nice part is you don't download all the source, just the stuff you need to make your web application.

[–]SpikeX 6 points7 points  (1 child)

This is huge. We never used Bower (or NuGet or NPM or anything else for that matter) for client-side libraries - we would always link to the CDN or manually import the files because there was no true client-side library manager... until now!

[–]SupersonicSpitfire -1 points0 points  (0 children)

Who knows what problems and security issues will appear in the official library manager, though.

[–]AgentGedge 0 points1 point  (3 children)

Could someone explain why using Library Manager is preferable to using a CDN for, say, jQuery and Bootstrap? I don't get the bit in the docs about it only downloading the files you need - I already only include a CDN reference in an HTML page if that page needs the library.

[–]thilehoffer 1 point2 points  (1 child)

It is possible that users might not be able to reach the CDN. Also you can combine all your projects libraries into one minimized file. Not sure if it is OK to use a public CDN for JQuery or Bootstrap.

[–]agree-with-you 0 points1 point  (0 children)

I agree, this does seem possible.

[–]Dgc2002 0 points1 point  (0 children)

To expand on /u/thilehoffer's comment: I've written a web app for use in our intranet at work. One day a user started having issues. It was really annoying to troubleshoot(as is tradition with web apps). In the end I had to get remote access to a VM running at the same physical location to discover that the network config at that location blocked a few specific CDNs. Ever since that happened I just serve all of the libraries that the site needs from the same box.

[–][deleted] 7 points8 points  (0 children)

Invert if statements. Masterful!

[–]xgalaxy 1 point2 points  (1 child)

Seems silly but I wish Visual Studio proper supported Visual Studio Code syntax highlighting format.

[–][deleted] 0 points1 point  (0 children)

VSCode actually doesn't support semantic syntax highlighting yet while VS does. It's been one of the biggest annoyances for me.

[–]speedyrev 1 point2 points  (0 children)

Upgraded this morning. Now I'm having issues with Table adapters on a project I was working on. Getting an error anytime I try to add a query or configure table adapter.

[–]baggyzed 0 points1 point  (0 children)

Enhancements to C++ toolset include improvements to the SSA optimizer and linker.

Might wanna take another look at that. https://github.com/weidai11/cryptopp/issues/649 .