
Visual Studio 2017 Launch [video] - JacobLinney
https://launch.visualstudio.com/
======
LyalinDotCom
Its a great sense of relief to finally ship this product, we really hope folks
give it a try and join our live keynote which is streaming now at
[http://launch.visualstudio.com](http://launch.visualstudio.com)

~~~
eitland
As a newcomer to .net I was really confused by the lacking refactoring support
in Visual Studio (yes, things we spoiled Java brats take for granted like
extract method, extract class, move to separate file etc).

Is this available in VS 2017?

Edit: and live unit testing! I was looking forward to that until I found out
it was only available in the enterprise version. (And yes, here you have an
edge on Java anyway I think)

~~~
mistermann
I think "most everyone" just uses Resharper - Microsoft kind of has a
background of letting a healthy ecosystem of 3rd party addin providers exist,
and only gradually incorporates the best features into the core product.

~~~
kogir
Most times when someone complains that Visual Studio is slow, you'll find they
have Resharper installed.

~~~
sundvor
Hard to live without though! I upgraded my PC to a 4.2ghz six core 6850k i7,
32gb ram and a 950 Pro NVME soon after I started dev in C#.

It was still slow, but somewhat less so. :)

------
erryoiruye
Where did the ISO:s go? Please give us something with a known hash.

I attempted to create the offline installer [1] but the vs_community.exe just
silently quit after some mintues, having downloaded only some certificates.

The custom download idea is easily planted with malware and all those bad
things. Also, please consider upgrading from SHA-1.

> We understand that a lot of customers want an offline installer for Visual
> Studio 2017. Even though we don't offer an ISO image, it's easy to create
> your own.

1: [https://docs.microsoft.com/en-
us/visualstudio/install/create...](https://docs.microsoft.com/en-
us/visualstudio/install/create-an-offline-installation-of-visual-studio)

~~~
timsneath
A few quick thoughts on the topic of ISOs, to give you all a little extra
context.

1\. Visual Studio 2017 is a huge product, because we support so many types of
development: from Android to UWP to C++ to Unity to Linux. If we were to still
offer a 'full' install, it would come in at over 50GB. That's one huge ISO
image!

2\. We surveyed hundreds of people during the previews and RCs, and people
told us that they had historically used an ISO for two reasons: (i) because
they wanted to download once and create a network install for enterprise
deployment; (ii) because they had a shaky internet connection and wanted to be
sure they'd downloaded successfully before installing. A single monolithic ISO
isn't the best solution for either of those scenarios - it's just the one that
people are habituated to over all these years.

3\. For the former (enterprise deployment), we have a full administrators'
guide that provides detailed guidance on how to deploy the product:
[https://docs.microsoft.com/en-
us/visualstudio/install/visual...](https://docs.microsoft.com/en-
us/visualstudio/install/visual-studio-administrator-guide). This includes
PowerShell scripts, examples of using the installer to create and update a
network cache, descriptions of how to deploy Visual Studio in a fully offline
environment, and so on.

4\. For the latter, we've worked really hard to improve the robustness of the
installer. The componentization work we've done means that the smallest
install is one-tenth the size of Visual Studio 2015, making it far more likely
to succeed. And other typical installs are smaller too. We download VS in
small packages that are more likely to succeed, and we use multiple ways
(WebClient, BITS, WinInet) to download those files to minimize problems with
AV and proxy software. If you want to download first then install, you can use
the offline guide to cache just those pieces that you need, which we've just
rewritten for RTW: [https://docs.microsoft.com/en-
us/visualstudio/install/create...](https://docs.microsoft.com/en-
us/visualstudio/install/create-an-offline-installation-of-visual-studio)

5\. Because of the nature of our product (rapidly updating, lots of third-
party components), an ISO is problematic. We don't have the rights to
redistribute several large components (including Android), and others update
on a rapid cadence that often includes critical security fixes, meaning an ISO
image is incomplete, often outdated, and potentially insecure. Most customers
assume that an ISO would support offline installation, but that's not true.
And so we fear that offering an ISO will just creating more disappointment.

Lastly, we're listening to requests for an ISO and paying attention to the
feedback we're getting; at the same time, we're hoping that this is the
release where we can gently move forward to a new model that better supports
delivery of developer tools at a fast, well-maintained cadence.

Hope this is useful context. And again, we're listening :)

Tim Sneath | Visual Studio Team

~~~
Hansi
The lack of an ISO is a bit anti-enterprise I feel. Working in a bank with
firewalls that flag a lot of stuff as false positive blocked items using the
builder is problematic. The 2015 ISOs solved a lot of issues for us in terms
of building a deployment via SCCM. I'm getting a headache just thinking about
trying to get pulling hundreds of packaged executables through the firewall
signed off by IT Security.

I feel an ISO including only standard packages from Microsoft itself would
solve a lot of issues.

Layout is really crappy around blocked files or corporate firewalls. It feels
untested in anything other than a completely open environment because some of
the package downloads can fail silently with a fuzzy enterprise proxy.
Creating layouts for patches seems dependant on what direction the wind is
blowing, I think 2015 Update 3 took about 4 tries to download everything
correctly and only way to verify was reading through the logs. Also that one
needed a random Windows KB update on Windows 7 which was extra fun.

Better handling for layout around error handling and validation of downloads
would be a boon. It would be great if there was a way of verifying an already
created layout. Is there any way?

------
mistermann
For those who don't know, VS community is feature wise almost identical to
professional, less CodeLens, Azure benefits, and TFS features.

[https://www.visualstudio.com/vs/compare/](https://www.visualstudio.com/vs/compare/)

~~~
gnud
Note that you can't use VS community for your work if your organization has
either of 1) more than 5 developers 2) more than $1 mill in revenue 3) more
than 250 computers

~~~
gruez
>more than 5 developers

*more than 5 developers using visual studio community

~~~
gnud
Good point, thanks. Still close to useless for professional use, which I guess
is Microsofts idea.

~~~
Raphmedia
Good enough if your company has a small but experienced IT department with a
few designers, a bunch of front-end guys on SublimeText and a handful of .NET
guys.

------
LyalinDotCom
Also folks should check out or comprehensive release notes:
[https://www.visualstudio.com/en-
us/news/releasenotes/vs2017-...](https://www.visualstudio.com/en-
us/news/releasenotes/vs2017-relnotes)

~~~
pornel
Sadly no mention of any improvements to their C compiler :( The C99 support is
still incomplete and it looks like MS has given up on C.

~~~
pjmlp
It is called Visual C++ and hence the focus is on C++. The only C related
updates are done to the extent as required by ANSI C++.

For anyone else that still wants to write straight C, there are other
compilers and Microsoft has integrated clang's frontend with VC++ backend.

This has already been communicated in a few places.

Cloudfare's crash just proved once more why the world needs less C.

~~~
xorblurb
Your last sentence is curious because it's highly debatable whether the world
needs less C to get more C++ ...

~~~
pjmlp
C++ provides the tools that C lacks for writing safer code.

Of course it doesn't help if people write "C with C++ compiler" and better
alternatives are desired, where copy-pasting C code is not possible.

Eventually one of the current candidates will won over the roles of C and C++,
except for environments married with C, like UNIX derivatives.

Until then, when the choice boils down only to C vs C++, there is no question
that in regards to language features for writing safer code, C++ is the only
possible answer.

~~~
xorblurb
C++ would not have helped as a target language for compiling Ragel, at the
level the compiling is done. Actually IIRC Ragel enhanced their output to
mitigate that kind of situation, and the intermediate language they target is
still C.

I'm not sure anybody targets C++ as an intermediate language when emitting
code at this level. (I do have written some code that emits some C++, but at a
wildly different and higher level). I'm not sure this would bring any value.

~~~
pjmlp
Of course it would have helped if they made use of a _std::vector_ like class
with bounds checking enabled, instead of a pure C array.

"Many years later we asked our customers whether they wished us to provide an
option to switch off these checks in the interests of efficiency on production
runs. Unanimously, they urged us not to--they already knew how frequently
subscript errors occur on production runs where failure to detect them could
be disastrous. I note with fear and horror that even in 1980, language
designers and users have not learned this lesson. In any respectable branch of
engineering, failure to observe such elementary precautions would have long
been against the law. "

Hoare, 1981 -- [http://www.labouseur.com/projects/codeReckon/papers/The-
Empe...](http://www.labouseur.com/projects/codeReckon/papers/The-Emperors-Old-
Clothes.pdf)

~~~
xorblurb
I'm still unsure of the rate at which this could be a solution to leverage
checked C++ library types, and whether in the precise case of the Cloudfare
issue this would be applicable. However I still think that in most case if you
must handle out-of-bound conditions from a checked language outputting to an
unchecked one, you just emit your checking code yourself...

Also the C++ standard is 1500 pages long. I prefer to avoid knowing that as a
backend language when I can...

~~~
pjmlp
> you just emit your checking code yourself...

Which C programmers keep failing to do, regularly, according to the CVE
database.

> Also the C++ standard is 1500 pages long. I prefer to avoid knowing that as
> a backend language when I can...

Which includes the libraries that C lacks.

ANSI C + POSIX isn't much shorter than that.

~~~
xorblurb
> Which C programmers keep failing to do, regularly, according to the CVE
> database.

Again, we were talking in the context of the language used as a backend,
output by a compiler using an other higher level language as the source.

------
MichaelApproved
It's a live video stream, so you might be watching in the middle. Jump to the
1:10:00 mark to start watching at the beginning of the presentation.

------
Jare
Is it viable for those of us with only a handful of GB free in our C: drives?
2015 and previous would only put a few bits in the "install location", and
still pollute the C: drive with up to 20 GB of stuff of hardcoded paths.

~~~
Jare
I installed the basic C++ tools (precompiled modules, Win10 and 8.1 SDKs, etc)
and it has taken 2.5GB out of my C: drive (hardcoded location for the Windows
10 Kit apparently) plus 2GB on my install location.

Then I added NodeJS tools and everything went into the C: drive.

If I select Cordova and other Android and mobile stuff it quickly complains
that I do not have enough space - which suggests these tools and SDKs are
hardcoded to C: as well. I have not investigated in more detail.

~~~
hackinthebochs
Windows junctions to the rescue

~~~
Jare
I recall from previous versions that attempting to use junctions would
seriously screw up the updater. Given the amount of problems I had to
completely uninstall vs2015 a while ago, I totally believe it.

------
n00b101
I'm excited to use VS 2017 and generally very pleased with their C++ language
support and integrations like git and cmake.

It's a minor nitpick, but I must say I was disappointed to see this issue
unceremoniously closed:
[https://visualstudio.uservoice.com/forums/121579-visual-
stud...](https://visualstudio.uservoice.com/forums/121579-visual-studio-
ide/suggestions/5672660-improve-intellisense-tooltip-for-make-shared-make)

~~~
ebattalio
It has been reopened.

I am curious, did you vote for this item? If so, did you receive an email when
we closed it?

Thanks! Eric, VC++ Team

~~~
n00b101
Cool! No I had not voted, but did now.

~~~
ebattalio
:D

------
petercooper
I don't use them very much, but this stream reminds me Microsoft really does a
fantastic job of presenting its work in the developer tools space.

~~~
LyalinDotCom
thank you, we worked very hard on this keynote and the two day agenda. Today
after keynote we'll have various interviews with Brian Harry, Miguel de Icaza,
Julia Liuson and others. We'll then do various technical demos on top product
features.

Tomorrow we have a full day of training for both a Web and App development
track. Hope folks tune in and all the details are up on
[http://launch.visualstudio.com](http://launch.visualstudio.com)

------
interdrift
VS 2017 is rounding up to be the best 2017 yet released. It's much faster and
packed with tons of useful new features. Pretty happy with using it!

~~~
interdrift
Now only if u would fix the damn XAML editor crashes!

~~~
moogly
Have you checked out Ammy[1]? It's been great to me so far. It does hot code
reloading during runtime, so no need for a crummy designer that crashes 30
times every day (the XAML designer isn't 100% WYSIWYG anyway).

Plus, IMO, the language is a lot more readable and enjoyable to author in than
overly verbose XAML.

[1]: [http://www.ammyui.com/](http://www.ammyui.com/)

------
partycoder
I've used Visual Studio for many years.

Visual Studio 5.0 was very responsive. Visual Studio 2015 is not as
responsive. Nowadays it seemes a bit bloated, even after disabling unused
plugins and features.

Switched to CLion and Rider, which are not known for their speed, but feel
more responsible than VS to me. That and a more affordable price and cross-
platform support.

~~~
LyalinDotCom
I am sorry we lost you and we're very aware of the need to improve IDE
performance and have invested a lot into this release towards that goal. Just
one example to read is this blog series when the product was still codenamed
VS "15".
[https://blogs.msdn.microsoft.com/visualstudio/2016/10/14/imp...](https://blogs.msdn.microsoft.com/visualstudio/2016/10/14/improved-
overall-visual-studio-15-responsiveness/)

(VS "15" is Visual Studio 2017)

We also have Visual Studio Code for those who want a lighter code editor, see:
[http://code.visualstudio.com](http://code.visualstudio.com)

~~~
signal11
My experience of installing VS Community Edition several years ago was that it
downloaded a lot of dependencies when I requested a fairly basic C# and C++
environment: versions of SQLXML, Windows SDK, etc, which had to be managed and
upgraded separately.

Is it much more self-contained now? perhaps via nuget?

~~~
mastax
New Installation Experience - A reduced minimum footprint for faster and more
customizable installations, as well as support for offline installs.

Visual Studio IDE - A broad range of enhancements in Visual Studio 2017,
including reduction in startup and solution load times, sign in and identity
improvements, improved code navigation, open folder view, and connected
services enable connections between your app and any service on-premises or in
the cloud.

[https://www.visualstudio.com/en-
us/news/releasenotes/vs2017-...](https://www.visualstudio.com/en-
us/news/releasenotes/vs2017-relnotes)

------
hackcrafter
Very cool that their "Mobile Center" SDK has React Native support. [0]

This looks very feature competitive with the "AWS Mobile Hub", even going
beyond it with its CI app build integration with GitHub and device simulators!

Also, although they announced Amazon Pinpoint in December, there is still no
support for it in their "beta" React Native Mobile SDK [0] (Which has had no
commits in 5 months)

[0] [https://docs.microsoft.com/en-us/mobile-
center/sdk/getting-s...](https://docs.microsoft.com/en-us/mobile-
center/sdk/getting-started/React-Native)

[1] [https://github.com/awslabs/aws-sdk-react-
native](https://github.com/awslabs/aws-sdk-react-native)

~~~
LyalinDotCom
We also have a new video on Mobile Center if you're interested, we just
released it as part of launch event:

[https://channel9.msdn.com/Events/Visual-Studio/Visual-
Studio...](https://channel9.msdn.com/Events/Visual-Studio/Visual-
Studio-2017-Launch/T116)

(its by the product team)

~~~
hackcrafter
I'm curious if CodePush[0] can be used along side (or integrated into) Mobile
Center.

That seems like a no-brainer if you are supporting React Native based apps.

Also, I didn't see any support for platform native Notification APIs for React
Native. The current notification service is for pure-JS / Cordova[1]

[0] [https://microsoft.github.io/code-push/](https://microsoft.github.io/code-
push/)

[1] [https://azure.github.io/azure-mobile-apps-js-
client/](https://azure.github.io/azure-mobile-apps-js-client/)

~~~
axemclion
Yes, CodePush can be used with Mobile Center - here is a demo video
([https://www.youtube.com/watch?v=lfqZ8Uy2p3U](https://www.youtube.com/watch?v=lfqZ8Uy2p3U))

CodePush will also be integrated into Mobile Center, so that you can also
making CodePush a part of your CI process. We are also working on adding
support for Authentication, storage, testing and Push notifications.

[I am the PM on CodePush and React Native Mobile Center stuff]

~~~
hackcrafter
Awesome to hear!

Do you have a general timeframe?

I'm going to be deciding between Azure Mobile Center and AWS Mobile Hub in the
next couple months for a personal project.

~~~
axemclion
You should be able to use Mobile Center and CodePush separately today. We are
planning to incrementally roll out a backward compatible solution over the
next 2 months.

------
DashRattlesnake
Does anyone know how to unsubscribe from the "Your Visual Studio Subscriptions
update for March" spam emails from Microsoft? I think they're super annoying,
and have no unsubscribe instructions _at all_. I just got one announcing this
launch.

~~~
will_hughes
Microsoft emails are absurdly hard to unsubscribe from.

I've had to resort to dropping MS domains at our exchange edge to stop
receiving them.

Their Azure sales team are even worse - I've actually had to shout
(repeatedly) at them to stop them from calling me, all because I wanted to try
Azure AD as a test. They're on my permanent blacklist now, I won't even
consider Azure because of the constant harassment over email and phone.

~~~
greggyb
The answer to any sales calls that won't stop (I found this out by
happenstance):

"We're a consultancy selling services for these tools/products."

or

"We're a competitor, and I registered for your free trial for competitive
research."

In my case, these are true answers, but I never get more than one sales call
from anyone.

I can't help you on the email front, but it's easy to set up filters for
those.

------
cm2187
Usually a new version of VS comes with a new version of the .net framework. It
doesn't seem to be the case here. I can't see the tuples announced for VB for
instance.

I am getting an error with Dim p As (x As Integer, y As Integer) saying that I
am missing a reference to
'System.Runtime.CompilerServices.TupleElementNamesAttribute' (but if tuples
are part of the language why do I need an external reference? and this
assembly doesn't seem to exist anyway). In fact right now a simple empty
command line program containing nothing more than the below hangs the VS IDE
completely...

    
    
      Module Module1
    
        Sub Main()
            Dim p As (x As Integer, y As Integer)
        End Sub
    
      End Module

~~~
louthy
I can't comment for VB or the error you're getting, but System.ValueTuple is a
nu-get package that facilitates the new tuples in C#; so maybe try including
that in your project?

~~~
cm2187
But how can it be called a new language feature if it's not supported unless I
add some external references (and the what's new page doesn't make any
reference to a nuget package).

~~~
Metasyntactic
Hi CM, i'm Cyrus, a developer on the C#/VB IDE.

First: The benefit of this approach is that people can now use this sort of
feature down-level. i.e. you can interoperate with this code even if you're on
a previous version of C# or VB. Also, it means that the libraries can be
rev'ed independently of compiler and IDE releases. There's a lot of value in
having this sort of thing. And in the past people would rightfully complain
about the lockstep nature of wanting to adopt a language feature, but having
to switch over an entire toolchain to do so.

Second: We actually do have a feature to help you out here. It's available in
C# in RTM and will be in VB in the next update. If you enable: Tools | Options
| Text Editor | (C#/VB) | Advanced | 'Suggest usings for types in NuGet
packages'

then we'll offer to add the NuGet package for this for you when you use a
tuple.

We'd like to eventually make this option on by default. However, there is a
memory cost to it, and we'll need to win back that memory usage in some way so
that we can abide by our commitment to VS using less memory and being more
lightweight by default than previous versions.

~~~
cm2187
But, to repeat another comment I made below, are you satisfied with this
solution? Would you expect to have to go to a package manager to use tuples in
python? The power of .net, and of visual basic in particular was its
simplicity. What I am seing is Microsoft going into the opposite direction,
with an ever more fractured ecosystem, .net, .net core, .net portable and .net
standard running in parallel. Asp.net and asp.net core running in parallel,
winform, wpf, winRT apps, uwapps, xamarin, etc running in parallel. And now
when a new feature is introduced in the syntax it requires to add some
external dependencies, which can be simplified by changing some default deep
into the IDE...

My opinion is that simplicity matters a lot to the success of a platform. And
by the way nothing in the error that you display when using tuples in VS2017
suggests a nuget package or an assembly name that can be searched.

~~~
Metasyntactic
> are you satisfied with this solution?

Yes. This approach allows for far more interoperability in this space. Instead
of having language features be locked into specific compilers/toolsets. You
mentioned 'simplicity' and we've traded off one sort of simplicity for
another. The approach you would like (which we used in the past) used to _not_
be simple for the customer that wanted the scenarios to work that we're
enabling now.

> Would you expect to have to go to a package manager to use tuples in python?

I could definitely expect that new language features might require library
updates, yes.

> My opinion is that simplicity matters a lot to the success of a platform.

I think a lot of things matter to the success of a platform. For every
developer who wants the type of simplicity you mention, there are developers
who want other sorts of things to be simple.

> And by the way nothing in the error that you display when using tuples in
> VS2017 suggests a nuget package or an assembly name that can be searched.

Yes. We could certainly make this experience better, and that's on me.
However, as i mentioned already, there were difficult constraints to balance.
We're hoping that our work moving things Out-Of-Process will help make it so
that we can just light up this scenario by default. Then, you'd get this
error, and the lightbulb would be right there to fix it up.

However, like with all things in development, you can't always get everything
you want complete for every release. In this case we did not feel like it was
justified to hold back all the rest of great feature work and performance
improvements in VS just because users would have to do one manual step with
one language feature when working with C#. You are free to disagree with that
assessment on our part. But we're always going to end up having to pick a set
of things we don't think will make it into any given release, and it's quite
likely that for any given release there will be some things that you'd want
(and which would make things better) that won't make it.

A great benefit of the new VS is that it's now much simpler for us to ship
updates very rapidly. Instead of needing to wait literally years for updates,
we can patch things immediately and we can complete features and get them in
the hands of users in a matter of weeks. In that regard, i'm ok if this one
particular experience isn't perfect. We can improve things as we move forward
and continue delivering better and better experiences.

Thanks!

~~~
cm2187
Actually I tried using that nuget package on VS2015 but it doesn't seem to
work. Is VS2015 support C# only?

------
dmarlow
What are the dependencies to C# 7? Is it only available on dotnet core and on
some future version of full .net?

~~~
Metasyntactic
Hey DMarlow, could you clarify your question? A C# 7.0 program should run on
pretty much any version of .Net after 2.0. Similar to C# 2.0-6.0.

The only thing we ever really adopted in C# that needed a new runtime version
was Generics.

~~~
dmarlow
So with c# 7 all I need is VS 2017? It'll work with existing .net 4.5.x and
4.6.x projects? I tried tuples and VS complained. Are there instructions to
get that working somewhere?

In order to compile on a build server do I need an updated toolchain?

~~~
Metasyntactic
> So with c# 7 all I need is VS 2017?

All you really need is the new C# compiler. You can get that with VS2017, or
standalone. But the _programs_ produced by this compiler should be runnable on
pretty much every runtime out there.

> It'll work with existing .net 4.5.x and 4.6.x projects?

Definitely.

> I tried tuples and VS complained

What was the complaint? in order to use Tuples, you need a reference to add
the System.ValueTuple NuGet package as that's the type under-the-hood that
packages up the tuple values so other people can consume them.

This is a nice approach because it means your APIs can use Tuples, while
people using C# 6.0 and earlier can still use them. effectively.

> In order to compile on a build server do I need an updated toolchain?

If you use C# 7.0 features, then use. You always need the appropriate compiler
to use the latest language features. But you shouldn't need to really
'upgrade' anything else if you don't want to. (You can, of course, if you do
want to).

------
snarfy
I just want to say thanks to the VS team for all their hard work. VS is by far
my favorite MS product.

------
duncans
_Finally_ seems that wildcards in project files are handled correctly by
Visual Studio now, i.e.

    
    
        <Compile Include="**\*.cs" />
    

looking forward saying goodbye to the no.1 source of merge conflicts for us!

------
suyash
Most of the web dev features they are so excited about already have been in
various IDE's (IDEA, Sublime with plugins, Netbeans etc) for couple of years.
Some of which are source map, live reload, linter, ES5/6 support etc.

------
ramshanker
I am on bazel learning curve and was searching to integrate Bazel build system
with visual studio (xamarin) project, apparently Bazel support for windows is
still too nascent. I home something comes up on this lines.

------
vladimirralev
So is there a Mac version?

~~~
LyalinDotCom
It's not GA yet (only Visual Studio 2017 for Windows is GA today) but we have
shipped an update so Visual Studio for Mac Preview 4 is now available.

Details: [https://blog.xamarin.com/better-apps-visual-
studio-2017/](https://blog.xamarin.com/better-apps-visual-studio-2017/)

~~~
evo_9
So this is full, 100% Visual Studio for Mac (soonish), or is it Xamarin Studio
rebranded?

~~~
LyalinDotCom
Visual Studio for Mac will be our Mac IDE going forward and will grow in
features, sure its past is Xamarin Studio but its future will have A LOT of
investment so its worth checking out in Preview 4.

~~~
CyberDildonics
So the answer was no

~~~
baldfat
> So this is full, 100% Visual Studio for Mac (soonish), or is it Xamarin
> Studio rebranded?

No isn't an answer to that question.

> Visual Studio for Mac will be our Mac IDE going forward and will grow in
> features, sure its past is Xamarin Studio but its future will have A LOT of
> investment so its worth checking out in Preview 4.

Is a good answer to that question.

------
jhasse
I really hope they add wildcard (e. g. src/*.cpp) support in C++ project files

~~~
Pxtl
Visual studio already supports this in 2015 and older iirc, at least for C#
and SQL projects, but it's an undocumented feature. You have to close and re-
open the project if you add/remove a file so it notices that it's different.

part of the new project system that grew out of the ill-fated project.json is
to make this a first-class experience, but again that's focusing on the
.csproj, I have no idea if it applies to C++.

~~~
int_19h
It also works in C++ projects. But it breaks a bunch of IDE stuff, e.g. Add
New Item.

------
jra101
What happen to Python support? It was supported in the release candidate.

~~~
int_19h
Please read this:

[https://blogs.msdn.microsoft.com/pythonengineering/2017/02/2...](https://blogs.msdn.microsoft.com/pythonengineering/2017/02/22/python-
in-vs2017/)

And this:

[https://blogs.msdn.microsoft.com/pythonengineering/2017/03/0...](https://blogs.msdn.microsoft.com/pythonengineering/2017/03/07/python-
support-in-vs2017/)

~~~
jra101
Perfect, thank you.

------
douche
Someday I hope it finally gets ported to x64 so that it can use more than a
tiny fraction of the RAM in my desktop, instead of page thrashing all the
time.

~~~
xorblurb
There seems to be some people in the IDE team who believe that a 32-bits only
IDE is a feature and not a bug, including for reasons as fun as because it
crashes sooner in case of memory leaks... I guess eventually those people will
move to other things and/or the market pressure will be such that we will see
a 64-bits IDE. Just don't know exactly when...

~~~
Metasyntactic
Hi Xorblurb :)

I'm a dev on the "IDE team" :)

We've actually done a huge amount of work investigating and addressing perf
issues and working to create an architecture that can scale well. 64bits is
not a panacea. And if we had simply moved to that, most people would find that
their IDE was using much more ram _AND_ behaving more sluggishly.

We decided to invest our energies in work that would actually benefit the vast
majority of customers. This led to efforts that we were able to demonstrably
measure as producing better experiences for people. If there's a point that
64bit will actually produce better results for people, we'll gladly move to
it. Thanks!

~~~
xorblurb
I'm sure you carefully evaluated the pro and cons and that for now the best
option for customers, also maybe given the state of your code (I've got no
idea if you have problems in that area or not, but hypothetically this is the
kind of thing that could have an impact) and your resources and what you want
to do with such resources, is to stick to 32-bits. Because, well, you did
stick to 32-bits, and it does not suck (although I've never tried to open
extremely huge projects in VS)

But I also "know", and you also maybe secretly "know", that you _will_
eventually move to 64-bits :P I completely don't know when, and I would
completely understand that neither do you, and I would also understand that
there is currently no immediate plan to move. But eventually you just will.

Now, ok, I'm not 100% sure about that. But my mind would be overly blown if
this does not happen (given I don't have a clue of when, I guess I could have
to wait for 20 years to see if my mind is blown or not :P ). I mean come on,
even iPhone programs are 64-bits now.

(You know what this reminds me of a little bit?: Mozilla not working on a
multiprocess architecture as a priority a while ago...)

~~~
Metasyntactic
> but hypothetically this is the kind of thing that could have an impact

It's not hypothetical :) We've measured, and moving to 64bits is a _serious_
issue and would directly affect many customers who could not take the RAM hit.

> But I also "know", and you also maybe secretly "know", that you will
> eventually move to 64-bits

At some point we probably will. but it certainly isn't now. We have ample
information on the types of machines that people use for development and we've
measured extensively the different approaches that are possible. Right now
64bits would be a bad decision, and going the multi-process route turned out
to be quite good.

> I mean come on, even iPhone programs are 64-bits now.

That's not a reason to move. We should move to 64bits if it delivers a quality
improvement and does not dramatically degrade the experience for many
customers. That's not what would be the case today.

> There seems to be some people in the IDE team who believe that a 32-bits
> only IDE is a feature and not a bug, including for reasons as fun as because
> it crashes sooner in case of memory leaks...

To be clear. There are _zero_ people on the IDE that think this. The IDE team
has to deal with the reality of the situation that there are humongous
solutions, and very resource constrained machines. And we've been hearing from
_huge numbers_ of developers that they absolutely do not want memory
requirements to go up. Just moving to 64bits is extremely problematic. As i've
already mentioned that can easily double the memory requirements for many
components in VS. That's going to make VS2017 a complete non-starter for many
customers.

We do not haphazardly make changes "just because". We measure measure measure,
and we're loathe to do anything that we've got enormous real data on on how
negative the impact could be.

The approach we've taken has actually extremely improved throughput, scaling
and latency, all while actually _decreasing_ memory usage. We're going to
continue making the changes that support those goals. If/when we can have a 64
bit architecture that supports those same needs, and gives an acceptable
impact on the vast majority of user machines, then we can move there.

