I would guess this won't let you build/debug win32 or winforms or wpf applications, or install any .vsix extensions from the visual studio marketplace (of which there are lots of useful ones, such as this one to manage translations - https://marketplace.visualstudio.com/items?itemName=TomEngle... ) - correct me if I'm wrong, but if I can't install my .vsix extensions, this is not "the IDE you love, now on the Mac".
The core of the IDE definitely has a heritage in Xamarin Studio, but this release has brought in so much more with .NET Core/ASP.NET Core development for web apps/services, Unity support for game development and cloud integration with directly publishing your web apps/services and previews of Docker and Azure Functions coming very soon.
Extensions is definitely another area we're looking to align more over time. Currently, there is an extensions framework, but you're right that it's different from the one used on Windows.
Definitely keep the feedback coming, we're listening and looking to act and prioritize accordingly!
The code for Visual Studio is just incredibly well architected. It is a design jewel - the core components are independent of the UI, and were already cross platform. It was a great surprise for us.
What you see now is the first drop, we are adding many new capabilities in the coming months as more code is ported over.
Step one level up above the trenches and the people you meet haven't had the time (or even skills) necessary to study the details to determine the fact that "Visual Studio for Mac" is, in fact, not the latest version of Visual Studio in the slightest. And why should they. Delivering a visual studio solution should be as unambiguous as delivering an excel sheet.
Then I need to ask... why is it so bloated and slow?
I realize that architecture can't be separated from functionality, but I think the parent was focused on modularity and the ability to reuse various components.
Visual Studio for Mac is built as a series of components on top of the open source MonoDevelop.
When we touch the core, it goes open source, and some of the extensions like Android and iOS development are closed source.
Is there a roadmap for Xamarin Studio?
> Our goal with Visual Studio for Mac is to create a native IDE for Mac users...That means "desktop app" development will target macOS.
Feedback: This target ghettoizing mentality seriously hurts my workflow. I just want to cross compile to target Windows. I want to make Win32 MFC C++ executables without having to boot into an operating system (Windows 10) that I never want to use on my development laptop for anything other than running MSVC. It's literally just a set of headers and object files that will, in even the very worst case, produce more applications targeting your platform. Why does Microsoft continue to keep them walled off?
Isn't the answer obvious? How many MFC devs are there working primarily in OSX or linux? It has to be tiny, even if they had the ability to do so. Great, I can compile; still need to boot up Windows to run it. My userbase is still 100% windows users. We still use Windows on every PC in my company. So who cares? What's the value proposition here?
None, because you can't, the same reason you don't see many iOS developers using windows. I don't know if there are many people that want to work that way or if it's worth supporting, but your current argument is circular reasoning at it's finest.
C'mon, how is this not completely obvious...
What's the point, you can't debug or even run such an executable? What developer is just going to compile stuff without testing it? It makes no sense to want this.
I can and I do. Don't be so unimaginative.
For starters, Wine actually works really well. And beside that, time spent writing code is measurable in weeks while time spent running an executable to test or debug is measurable in minutes. The amount of time spent testing and debugging is a tiny fraction of the time spent coding. RDP/VNCing for one of them every second of the day can be a huge pain in the ass. Doing it for the other once in a while is a minor inconvenience.
Next time just say "I'm glad I don't have that problem" instead of "You can't possibly". A mindset like that ends up making you look foolish, because you'll be wrong most of the time.
That said, we also have to be able to encourage others to present their ideas. We clearly can't grow if we don't hear and consider external ideas. It's a difficult balance to strike.
Maintaining two separate development environments, on two operating systems that you have to boot into separately is very annoying. Developing for an operating system other than the one you're running is about as old as the personal computer, I think :).
If time and cost was no option, sure I'd agree with you. Put everything on everything. But this is such a niche situation that's not worth the cost.
This is a niche situation only because Microsoft's tools make it a niche situation. It's pretty much how all embedded software on this planet is developed (except that the network is replaced by a serial connection on the lower end of the performance spectrum, of course). In nix world, it's a super-common situation; e.g. at $work, where I write software for networking equipment, no one seriously expects that I'm going to compile stuff on the routers that ends up running that software. Most of them are capable of the required heavy lifting (they have CPUs in the same performance class as a pretty beefy desktop), but why?
The question is backwards. The real question is, why doesn't Microsoft do what is necessary to bridge them. And the answer seems to be simple -- developer man-hours are limited, your use case is not the use case of the majority of people who want a Microsoft development environment on a Mac, they are handling the most common use case, not the edge case.
I don't think so. Win32 with MFC is already in the free VS Community Edition on Windows, so we know that the work to package up those libraries is already done. We also know that Clang and GCC can already cross-compile targeting Windows, all you need are the aforementioned platform libraries.
I guess I don't understand what sort of developer workflow you can have building windows apps and not actually running windows, even if it's just in a vm.
How are you going to test your program?
I never believed in cross compilation without testing.
My language settings are:
1. English - Canada
2. English - UK
3. French - Canada
4. Chinese - Simplified
apparently the installer wanted people to practice the languages they've been putting off.
Our focus for the initial release was to get our .NET Mobile, Cloud and Unity components in place.
We have a solid pipeline of new features, stay tuned for more details on my Visual Studio for Mac talk today.
It sounds like its BASED on the same IDE, but fundamentally provides a completely different feature set, and ability to compile to completely different platforms. That's fundamental enough to suggest its not the same IDE.
If anything, MS is simply capitalizing on the brand recognition, and taking a similar approach. But if the extensions don't work on Mac - its not the same.
That's like saying "Microsoft Word, the same word processor you love, on a mac" and then not support .docx files.
Btw pretty excited about the visual studio for mac as current visual studio code user and a huge typescript fan.
* when .Net first come out, everything was suddenly .Net
* for a while, everything was Live
* they had two technologies called Win RT
* they pick names already in use by others (Metro, Skydrive)
* Visual Studio Code? It's not Visual Studio
My favourite example has to be Groove.
Groove Music  (formerly known as Xbox Music, Zune Music and Microsoft Groove), Groove Music Maker  (an unreleased Windows 10 app), Office Groove  (a.k.a. SharePoint Workspace) or Groove (now known as OneDrive for Business - the service formerly known as SkyDrive Pro) .
Oh, do you mean Xbox 1 or Xbox One?
* Active Server Pages
They are bad at naming EVERYTHING, not just products.
I still would like to meet the person that put the extraneous words "Files" and "Items" in these strings. It's so core and so, so dumb.
<meta http-equiv="X-UA-Compatible" content="IE=edge">
My opinion: they need to make him branding dictator for a month.
My first choice would have been to stick with Xamarin Studio. On the other hand, this sounds like a significantly new product, and so if it deserves a new name I would have seized the opportunity to launch something new that's going to get developers attention. Visual Studio for Mac does the opposite. It makes me feel like I know what it is and I'm not that intrigued.
I also would have called Visual Studio Code something else. It's almost like they don't want attention from developers.
For being one syllable, Bing sure is a physically difficult word to pronounce. You have to do weird things with your mouth. Also it means nothing. It has no meaning
Sort of but not really. It depends on the intonation and even with the right intonation (bing4 / bìng), the sound maps to several other possible words aside from "disease".
Even their most successful products have generic and/or confusing names, like windows and word.
Misleading. Emacs and Vim are installed by default with macOS since the first release of OSX. Xcode is a free download, as Eclipse and NetBeans have been since the dawn of time. I have no idea what they are talking about.
Now, seriously, I move smoothly between Mac and Linux (and did between both and Windows 7 back when 7 was new) with very little trouble. Now that I keep my config on Github (https://github.com/rbanffy/emacs-config) moving between machines and OSs is even smoother.
I'd spend even more time writing it as I'd try to condense everything critical into basically a few bullet points for him to digest along with his other 200k emails a day.
His PA probably co-managed his inbox and would read and respond to this type of e-mail. Perhaps they also only forward on emails to Steve's "priority" inbox if they're worthy of his time?
"I’m delighted to hear that you have the foresight to make them cross platform"
I'm also very happy :)
With all your branding changes over the years, what's considered a Microsoft account today? My old Hotmail account, that existed from the days before Microsoft bought Hotmail? I think it's still alive, but I haven't logged in in the better part of a decade to find out. The accounts created over the years for various Xbox machines? I think those are still around, but I doubt I could get into them at this point. The "Live" account I had to create for MSDN many years ago? Once that job and associated need for MSDN ended I've not logged in to see if it's still around.
Which one(s) should I try to find login information for to use?
Furthermore, why must I sign in in the first place for the free version? I can understand signing in to associate the install with a paid version with extra features, but I see no reason to require it for free versions without any paid features.
I have some bad news for you...
This is literally the reason I signed up with gmail when it came out. Microsoft used to have a log-in-within-30-days-or-we-delete-everything policy for Hotmail. Maybe it was even 90 days.
As for why, it's really a good way for us to stay in touch with you and keep you updated about what's new, help you get started, and make you successful in general. Visual Studio Community on Windows has the same behavior for the same reasons. Hope that helps!
Really nice way of saying "to send you spam" :D
And when I try to contact support, it wont let me contact a person unless I login to my Microsoft account...
And if you've got a corporate MSDN license then the login will be different anyway.
And yeah, I use a different login between home and work too.
Tried built a few opensource apps with VS once a year for the past few years and found that I can't even compile a single Windows open source packages from github, sourceforge after weeks of trying.
The code might claim to be able to build with VS10, VS12. The dependency libraries will need completely different VS version of .xml, .proj, .sln build systems.
I challenge the PM of VS product try to build a few popular MS projs such as python, VLC, or anything in http://opensourcewindows.org/. Document the process of building the app and dependence library. Compare that to the process of try to build that same packages in Mac (with brew) or in Linux.
In Linux, for all the packages I like play with. "./configure && make" handle most of the the build in a few minutes. Even easier on Ubuntu with apt-get source/build commands. Very similar process in Mac.
Even linux kernel, I can build it easily with pretty much the same 1-2 commands for the past 20 years.
Don't get me wrong: configure/make is way more mature but you almost make it sound like nothing works at all with VS/msbuild which is imo often just because people don't really know how to work with it (which in turn might be because of lack of documentation/proper examples/...), or because project maintainers don't care for VS support, and/or because there is no standard dependency managment (yet? cmake does a pretty good job, vcpkg looks promising).
such as python
Wasn't that just 'msbuild path/to/python.sln'? At least for the core, might be different for other modules. But I definitely remember getting a working python.exe just by building the supplied project files.
I often have to run configure multiple times and hunt down the correct version of whatever library it needs before re-running it and finding yet another library that it can not find (it gets even worse if you actually have the library installed but it's not in the search path...)
In Linux, the dependencies are just apt/dnf/yum away. In Windows, you have to build them, including their dependencies. There is no ./configure, no cmake config, it either has VS solution file (if you are lucky, it will even work with your version), or not. If you have the dependency library somewhere, you have to edit that project file tell the VS manually where it is. If you weren't lucky with an existing sln file, it's time to make your own.
Reading README to learn about dependencies and running configure with some flags is fine, compared to that.
That issue is much more complicated than what most FOSS projects deal with.
I agree with you, building a lot of non-Windows stuff on Windows sucks. It's getting better, though.
With libgmp, it looks like you should use http://www.mpir.org/ but I don't know how this works with programs that expect gmp.
R or Julia would have the exact same problems if they cared at all about MSVC.
> I agree with you, building a lot of non-Windows stuff on Windows sucks. It's getting better, though.
I actually didn't say that at all. It's the Microsoft dev tools that suck. GCC works fine.
And that's targeting py3. For py2, you would need to build with VS2008, which some packages flat out refuse (for example, icu wants at least VS2010).
That's kind of the point. Most apps don't need unfettered system access and many (most?) app authors aren't capable of writing an app that's secure anyway; one of the biggest attack vectors today is through apps.
You can create new projects, debug them and bonus points - deploy directly to Azure.
From what I can see, it only supports C# (and family), so what good is it to a C++ / OSX dev ?
The productivity boost was so great that I've decided to never use Xcode for C++ again and do all my development in a VM if I have to.
Best alternative is Qt Creator and it's probably what I'm going to use for my next C++ project on the mac. Many people recommend CLion, but I've never really managed to actually use it (and it isn't free and runs on the jvm).
Still VC++ is a powerful tool for C++ development, which is probably quite hard to beat, so having it on the mac would make using Windows totally optional :).
So is this just Xamarin repackaged ?
My pet MS naming peeve is that they decided that "locale" is not good enough for them and decided to name it "Culture" in .NET, even though it is the exact same thing and "locale", being a rarely used word outside of technical circles, is much more precise.
Microsoft's inability to understand how branding works is longstanding and legendary.
Make sure to browserify your webpack, take a moment, don't react, have a mocha before, gulp, bowser comes to get you. Wait no, it's fine, it's just bower.
I mean it's not like they're all called "XCode [something]".
What they should be doing is fixing the critical issues people have with Windows; namely, Windows 10's (lack of) privacy settings, advertisements in Explorer, harassing people with taskbar notifications for using Chrome instead of Edge, and the utter shitstorm they allowed to take place with malware-levels of bullshit with forced and unattended upgrades to Windows 10. With the way in which Microsoft pushed out Windows 10, I can't understand why anyone is still using Windows except for gaming. That maneuver should have cost them so much more than it did. Microsoft has lost all credibility, and trust is unlikely to ever be regained.
tldr; Microsoft Windows' users have had enough of this crap, and are migrating elsewhere. Instead of fixing the issues people have with Windows that are causing them to abandon it, Microsoft is creeping into the competition's ecosystems in some desperate attempt to maintain a partial grasp on its users.
Hi, a minor procedural point (I'm a mod here): it's good to say this once in a thread, but repeating it after that breaks the feeling of normal conversation, so could you please not? Experience shows that users figure it out.
One thing you could do is register your opinion here: https://visualstudio.uservoice.com/forums/563332-visual-stud...
Isn't this just MonoDevelop? Or have Microsoft added secret sauce to the mix?
It is based on the MonoDevelop core with many new extensions to support new workloads (.NET Core, Azure Deployment, Unity development).
Additionally, over the past year we have replaced started to replace the internals of MonoDevelop with code from Visual Studio that we have been open sourcing.
In addition to what has been open sourced and integrated so far, we have a strong pipeline of additional features and capabilities that will bring even more Visual Studio code into the IDE.
We are roughly on a 6-8 weeks release cadence that aligns with the Visual Studio release cadence, so you will see various subsystems get new capabilities continuously from this point on.
We need your votes, your voices to make the case that we should release all this goodness on Linux.
Little know fact: some of the engineers on the Visual Studio for Mac team are still developing it in Linux itself. So it already works there.
At this point it is a matter of hearing your voices. Speak up often :-)
And I'm pretty sure I'm one of few who even hopes for it anymore.
It would be great if in addition to voting, you can articulate some reasons for why you care, add a personal touch, in the end, we would love to know what our users care the most about.
Visual Studio Mac = MonoDevelop + macOS extensions
Xamarin Studio = MonoDevelop + extensions
MonoDevelop = Libraries, ASP.Net, GTK#, Xwt, Console Apps, etc.
What's important here is that porting over the real VS to Mac or even Linux is not practical. You won't also see mfc/win32 support on mac or linux (on the foreseeable future) because those are extremely tied to the windows architecture which is far from being compatible with unix, most people just don't get it. Same case for developing say, iOS applications, you just can't do that without macOS because you need the tooling, so its not really up to Microsoft.
What I think could be accomplished relatively easy is a XamarinStudio/VisualStudio/Monodevelop on Linux with support for Android development since you already have the tooling available there, the IDE would just wrap up the core code/tools. Also, there is no truly multiplatform desktop framework as each platform has its intricacies but there's an actual toolkit (poorly named, btw) called Xwt which is what monodevelop uses in some parts and draws native widgets depending on the platform is running, something like what Qt does.
I don't know how you work on cross-platform ASP.NET for this long and still not have the tooling for your templating engine ported.
If yes, JetBrains didn't notice, because they are still able to do that for their products.
For others looking for the same, it here: https://docs.microsoft.com/en-us/visualstudio/mac/create-off...
(You can get there from the linked page, click Release Notes, then Downloads link in the third paragraph, then "How to install offline" at the bottom, just above the fold.)
[Exception] System.AggregateException: One or more errors occurred. ---> System.IO.FileNotFoundException: /Users/<username>/Library/Caches/XamarinInstaller/Universal/downloads/repository-10.xml does not exist
There is not much wiggle room, launch the installer with the switches, select a directory where to build the installer, go. There's not much that you can reorder.
Of course, on the second try, although the downloader caches whatever it downloads, it does not use that for the next round, it will throw it away and redownload everything. So 36 GB of traffic later, I gave up.
Edit: Yeah, this is just their GA release
We will be doing that with the Language Server Protocol effort that was started at Microsoft and is currently in use by VSCode and other languages: