Previously (with comment volume): "Visual Studio for Mac Retirement Announcement" (39 points, 2 months ago, 7 comments)[0], "Microsoft is discontinuing Visual Studio for Mac after major overhaul" (116 points, 111 comments)[1], JetBrains also did 65% discount when it was first announced [over now] (56 points, 64 comments)[2]
It’s in the same feature family as emacs, Sublime, Notepad++, etc — all of which are called text editors.
They all have extension architectures that expand on what that means, but they all cover the same kind of use cases and they all stop short of traditional Integrated Development Environments.
Unless you’re saying that none of the others should be called text editors either (a daunting uphill fight against history), it’s an exactly accurate description.
That is a good point about the name, never thought about it. And if I ever wanted to write gui code that only worked in windows, I guess I'd consider it? But that has never been a use case for me, and everything else about vscode is better.
Yeah, it's superior to Visual Studio because it's more like Emacs, a text editor.
Emacs users saw the benefits of a single text editor a long, long time ago. Back when I started programming it was common for people to use a different IDE per language. There was VS, Eclipse, Dreamweaver etc. I thought that was insane. It's been funny seeing people finally realise the same a decade later.
JetBrains IDEs are the sweetspot between absolute single purpose IDEs (like Eclipse) and text editors that require plugins to be useful (broadly speaking).
I am all in on JetBrains, to be perfectly transparent, but I have yet to see anything come close to the seamless experience I've had with their IDEs
Eclipse a single purpose IDE? Back when eclipse was the dominant java IDE, it almost felt as if a language did not exist before it had its very own eclipse plugin.
Yeah, didn’t they market themselves as the framework for IDEs? I can remember in the late 2000s Eclipse was very popular in the php community. The C/C++ plugin was also widely used.
For Windows development Visual Studio is still more powerful. People who have developed solely on Macs or juniors who started in 2020 with only web dev experience won't understand and they're usually the ones that have the "VS Code is better" opinion.
I've developed in .NET, I've even worked with a large .NET monolith ( > 100 devs). Even in that circumstance while visual studio was installed by default, most devs used vs code. It's not just them young ones anymore.
As someone who's used vs code occasionally but still primarily uses visual studio what are the big benefits you see of vs code of the traditional visual studio?
For me personally the use of vs was only during my studies. A comparison by me between the tools I've actually used extensively would be between emacs and code.
Someone mentioned the visual aspact of vs. That I've literally used once, at the very start of my bachelor. Vs is confusing, huge, and densely feature packed. I think I just never took the time to enjoy the features vs has.
This isn't weird when you consider my top choices: vs code and emacs both share the characteristic that they get out of the way when I'm doing my stuff. I usually want the bare bones, vim keybinds enabled workflow when I'm working, because it's fastest and it's what I know. I can use smart features like var renaming, autorefactoring etc. in all of these options, but in vs code and in emacs I feel less like they're butting in when I don't want them to, and when I'm changing settings or executing commands I'm not traversing a dense jungle of menus, settings and options like in vs.
In short for me the experience is easier and therefore more flow like.
There actually is a text editor in there somewhere at least if you believe some of the MIT neckbeards. But you have to sort of tease it out with the proper meta key what-have-yous
It's no Acme but it's still pretty good. For me at least it's a sight better than modal editors like Kakoune, those just don't mesh well with how my brain works; Emacs' keyboard chording is far more pleasant.
I think the point at which you have integrated intelligent breakpoints, seamless in situ data inspection, call stack tracking, proper lexical scoping of variables, etc, etc.. you've left the realm of "text editor"
What on earth would VSCode need to add to be classified as an IDE? It does so much more than Sublime/Notepad++/eMacs out of the box. It’s not even close.
Vertical integration with the toolchain, for one. Most text editor extensions rely on least common denominator integration with tooling through an adapter layer like LSP.
And that works pretty darn well, but struggles to integrate all of the toolchain's development opportunities into the workspace environment.
Horizontal integration across workspace modules would help too. Most text editor extensions rely on a least common denominator UX language through command palettes and button arrays and human-editable config files.
And that also works pretty darn well, but struggles to integrate all of the workspace environment's features into coordinated development workflows.
There is no slight being made against VS Code to say that it's not the same as a more fully integrated development environment. It's a very powerful tool in itself, capable of meeting most developer's needs and is far more extensible and adaptable than IDE's aim for.
LSP was literally developed for vs code. Using it as an example of what text editors use to approach ide's is in the context of that fact rather odd in my opinion.
They cover all use cases of traditional IDEs, but you need to edit files instead of clicking through endless menu hierarchies. They also don't tell you what your compiler or build system should be.
Categorizing VS Code as akin to Microsoft Word or Google Docs seems...profoundly weird and more confusing than elucidating. I'm gonna stick with "IDE", personally.
[EDIT] It seems folks won't classify Word/GDocs as "text editors" due to their additional features. Great point! I'm getting deja vu...
Indeed I am. What universal IDE functionality is missing from VSCode? My vanilla install is aces for full-stack TypeScript work, but I'd love to know what I'm missing!
Microsoft Word and Google Docs are _Word Processors_ which are technically for editing text but are now much closer to desktop publishing software, especially with the emphasis on styling and graphics.
emacs, vim, and VSCode are _Source Code Editors_ which are a type of text editor. You can make a source code editor into an IDE by adding integrated compiling and debugging tools.
From the crappy bolt on things required to make it anywhere close to a decent IDE, it is essentially vim with tons of incompatible plugins that continually conflict one and other.
Can you provide an example of a crappy bolt on or a set of incompatible plugins? I’ve not had that experience and I’ve used it for six or seven languages.
A fresh VS Code install has all the usual IDE tools I need for my job (editing, debugging, symbol parsing, etc). Is it still not an IDE? Suppose it was missing something for someone else's workflow. What if we bundled all the extensions needed for most developers into the install? Is it an IDE then? We just need less modularity/more bloat at install?
Distinguishing VS Code from IDEs seems so forced and unintuitive to me. What's the point?
I've always described VSCode as a text editor with IDE capabilities. I would personally call it a text editor and not an IDE though. If you do a fresh install of VSCode you may notice that almost everything is a plugin. Even basic language support for popular languages like python are technically plugins. Everything you add from there are as well. A true vanilla install of VSCode is truly a text editor.
However it was designed really well in that it has a lot of good integrations which make plugins feel almost integrated and natural. Not to mention the plugin process is the smoothest i've seen of any text editor so for many people it is transparent, they just think they are enabling features and don't realize they are actually just downloading 3,000 plugins.
I'm not trying to argue a no-true-scottsman here. If people want to call it an IDE they can.
But download something from JetBrains and give that a go or something like xCode or the real Visual Studio and you'll see how deeply "integrated" it is, so that it feels like a full featured developer environment from the start, hence the IDE moniker.
There's nothing wrong with VSCode. You can do your whole job in it i'm sure. But compare it to something like JetBrains and it is really really hard to put them truly next to eachother. With enough customization you can get VSCode close, but it sure isn't like that without a lot of customization and plugins from 100 different developers with varying levels of support and reliability.
Fwiw, the Wikipedia page for Visual Studio calls it an IDE and the wikipedia page for VSCode calls it a "source code editor". So maybe as a "source code editor", thats where it bridges the gap between IDE and Text Editor.
What new feature(s) must VSCode implement to gain the moniker of "IDE", in your personal opinion?
VSCode feels pretty bog standard in the pantheon of IDEs that I've (ab)used over the decades. By default VSCode searches symbols/references, formats code, debugs, has an integrated terminal, handles source control, has smart autocomplete and snippets, etc. I've never harkened back to my days with PhpStorm/PyCharm/VS/Eclipse/CLion/etc and thought "gosh, I wish VSCode did <this-feature>".
To me, if VSCode is closer to Notepad than to NetBeans, then the "text editor" vs "IDE" distinction is virtually meaningless. Ditto for the term "source code editor." I guess it's just personal preference though.
To me the line between editor and IDE is you don't have to leave the IDE to do anything if you don't want to. Including the thing that VS Code lacks in most cases: projects and compilation. For example, in Visual Studio you can go from "New Executable" to an actual compiled executable without leaving Visual Studio or using a terminal.
Not that I want those things in VSCode, and if I did there's likely a plugin for that. This is just where I happen to dilineate the two.
Plus, each plugin is maintained by an independent developer and you don't know what the quality of their code is. When I tried VSCode on a Mac, the C/C++ debugger plugin panicked and terminated the process whenever I tried to set a breakpoint, because it didn't understand the format of the debugger for some reason, even though that is the same debugger that the plugin itself bundled (so they should have been verified to work together).
AFAIK there were at least 2 of such plugins available, but this was the more popular one, and I don't remember what I tried before giving up, but I do not want to be playing Linux with my IDE. I need it to actually work.
This is what I'm saying! At the risk of ad hominum - I feel like a lot of the comments classifying VSCode as merely a text editor haven't really used it for development - at least not directly or in a long time.
Though this whole thread could really be considered off-topic since the original post is about Visual Studio for Mac!
I don't know how good VS Code is now (with regards to all the features VS had) mainly cuz I don't code in .NET, but I still miss the powerful tools from VS that I had nearly 20 years ago (for C#), in Ruby, Elixir, etc (and some other languages).
The amazing debugging, stepping through, etc that Eclipse and Visual Studio has, were leaps and bounds more superior to all the stuff that was lacking in the simple text editors.
LSP has helped tremendously. And there are similar debugging protocols. It's kind of getting there, but again, nearly 20 years ago, I could start up a project and hit the debugger immediately without fiddling around with settings and googling around.
And I feel the lack of such good tooling has enabled a whole generation of "print string" debugging (which I totally do now) because we simply can't easily run and step through.
Is this other people's experience? Hopefully the debug world is better in Go/Rust land than it is in Elixir/Ruby land.
In Node/React/JS land with VS Code I mostly pray for rare function names (miss-spelt words for such names are gold!). There are definitely some things I miss about the Java ecosystem.
But then I debug with console.log (nee System.out.println) so probably I'm some sort of neanderthal.
> but again, nearly 20 years ago, I could start up a project and hit the debugger immediately without fiddling around with settings and googling around
It's working in VS Code now, too. For popular languages, you just have to install the respective plugin (only TypeScript is builtin), but it's just a click on the prompt. I've been doing lots of Python debugging and it's pretty much a seamless experience.
Properly navigating through python modules (clicking through to the module source) doesn’t even work nicely in VSCode (even with the base python extension installed) so I don’t have high hopes for debugging being any better. VSCode is amazing for typescript though, and I had great success doing C++ and Rust. Python seems lacking in my experience though
Excellent. I remember C# support for .NET Core was really solid even 6-7 years ago.
So for a large number of use cases, they have to be talking about retiring VS eventually too.
This multi-process architecture (with language servers, debug servers, remote SSH mode, etc probably making much better use of multiple cores has to be easier to migrate to)
Yeah. Remote mode is a killer feature IMO (sadly the official implementation is closed source, and there's no support for Docker in unofficial ones – although coincidentally I'm working on this)
I wouldn't use the word destroyed - Visual Studio (Windows) has been a billion-dollar ARR business for a long time, and likely still is. The trajectory is certainly not in favor of it, but there's an utterly massive number of enterprise .NET and C++ devs on Windows who will be using it for a long time.
Indeed. To use the new C# devkit in Visual Studio Code you need a Visual Studio/MSDN subscription too.
JetBrains Rider's a bigger competitor but even then (at least at my org.) most devs have a Visual Studio Professional/Enterprise subscription as a backup.
The crazy thing is that - I worked on VS 10 years before you did - and it was at a (near) billion $ ARR back then. So, it looks like it has been a flat business for a long time.
It's more that Microsoft lost the cross platform war. .NET lost and electron won. They even use it (or their own WebView knockoff) for their own products now. So there's no more need to give .NET away. They just milk the niche market that still depends on it.
It does yes but it's no longer a mainstream dev tool really. Which means there is no longer any point in giving it away for free to try and gain more mainstream application marketshare.
With Microsoft backtracking on their Visual Studio non-Code designer interface and no longer offering it for modern Windows apps (WinUI 3)… Honestly… Is this a long term plan to just sunset Visual Studio?
It always felt like it to me. From the get go. But they deny it. Still, Visual Studio is so heavy, feels sluggish, written in WPF, and not from an era of modern, plugin-based software development.
Visual Studio Code also offers many features VS don’t. Oh, and it perfectly debugged Python code on Windows for me (VS somehow failed to attach its debugger to Python.exe) and auto-detected venv’s for me from the mere folder structure, none of which Visual Studio did.
Code feels like the .NET Core of Microsoft editors to me. Not only new thing for cross-platform development, but the next thing for Windows development too. Just like .NET Core.
Sure, Code still miss things but those only feel like extensions away at best. A far better and less monolithic design. Now, if we could only have it be WebView2 based rather than Electron on Windows and cut 50% RAM use right off the bat…
As someone that works with a lot of different languages - vscode has been amazing. I feel its inevitable that a majority of the plugins I rely on start requiring some sort of subscription - which I'm not looking forward too.
Denial might be as much a show for the motivation of the team that keeps maintaining the relic for some large old cash cow customers as it perhaps is for the outside world. Old customers that are perfectly locked in across the entire product portfolio. But if VS suddenly disappeared, all the other business they have with those customers would suddenly be open for reconsideration as well.
It takes a significant amount of clicks debugging C++. I can't just have the file and debug views present at the same time, I have to keep jumping back and forth.
The launch json config system also introduced a ridiculous amount of verbosity, not to mention it's insanely easy to multi launch instances and confuse yourself.
The WPF version of VS has supported many plugins from the start (2010). The previous version (2003-2008) also supported plugins but not sure how extensively. Before that VS was just the name for a suite of different tools (Visual C++, Visual Basic, Visual InterDev and a few others).
Absolutely but it just feels like VS Code has taken the extension based model even more to its heart. I think the difference was striking when I first started using it. What would be bundled with VS is often just an extension in Code. It’s wholly language agnostic in that regard. Even JavaScript, Python or their own C# requires an extension for anything but the lightest support such as syntax. It’s based around linters and language servers, often outsourced to third parties to relieve Microsoft of the burden besides their own technologies. It just comes across as the more sensible way to build an editor or IDE without overwhelming your own team and making it more maintainable in the long run. And ultimately that this will even show up in the quality of the product they market itself.
Visual Studio for Mac had its roots in Xamarian Studio, which had its roots in MonoDevelop. Each one has always been a rebrand of the previous product.
(Edit: I forgot to point out that Visual Studio for Mac never appeared to be a port. It always appeared to be a "clone" of Visual Studio with a very similar UI.)
They've always been rather buggy and unstable compared to Visual Studio on Windows. They were a nice way to do C# on Mac without needing to load a VM; and for the last few years I really appreciated that C# was getting "first class" support on Mac.
Last I remember, you still need a Visual Studio license to use the C# plugins for VSCode. (free for personal use etc) They're all part of the package, whether Visual Studio itself exists or not.
Yep. Hence the somewhat confusing name of the software. It's not Visual Studio™ for macOS. It's Visual Studio for Mac™.
How well does VSCode work with the Unity engine? My understanding was that for game C# programming on macOS Unity recommended(required?) Visual Studio for Mac™.
JetBrains Rider on macOS is almost as good as Visual Studio 2022 on Windows. And JetBrains DataGrip is by far the best database IDE on macOS or Windows; going back from it to SQL Server Management Studio (SSMS) recently was painful.
SSMS has a unique feature where if you run multiple queries, it will show the output of all those queries below at the same time, you cannot do that with Datagrip.
To be fair, when I was working on Windows, SSMS was one of the first programs I opened, and (almost) never closed it. I was using it frequently enough this worked well for me.
SSMS also has a number of excellent integrations with SQL Server itself. Overall, DataGrip is my tool of choice, but I occasionally boot up Windows in Parallels when I need some of the SSMS-specific tools.
10 years ago, at a job interview, the manager asked me what IDE I wanted. I can't remember what I was using at the time, but he asked if I wanted PHPStorm. I said I had never used it. He said, "It'll change your life," and it did. Been a hard core Jetbrains Kool-Aid drinker ever since that job.
Seconded. It’s my daily driver for back end .net development on mac. I’ve experimented with the new vs code extensions, but the experience still isn’t as smooth as using a proper IDE.
Probably for the best - been a VS developer for many, many years, since the first version - but the Mac version was never even close to as good as the Windows version - as much as I wished it was, as my Mac is my primary machine.
They either needed to kill it, or make it at least as good as it was on Windows - guess they decided killing it was easier.
We've got almost all of our backends on .NET, but for us we have plenty of front-end developers and those who're not really full-stack are on Mac's and Linux.
Our modern .NET Core codebases aren't much of an issue (pre core 3.1/5 are tricky without Arm support but those are easy enough to upgrade) but we have a bunch of older Framework codebases that forces them to run Windows VM's.
The equation for MS is probably that VSMac was good for those targetting the older .NET systems but with Apple going for ARM it's just too much work to get them decent (and Mono's Framework support didn't seem good enough for even a fairly simple project we tried to get running recently) and with the new C# SDK for VSCode mostly giving parity for newer projects there is fairly little reason to spend any effort on VSMac.
It shared nothing with Visual Studio apart from the name as it was just a rebrand of MonoDevelop.
I tried to use it on a Xamarin project a few years ago, and between the poor autocomplete and frequent crashes, I switched to JetBrains Rider for everything but XAML editing. There were also features that were locked behind a $250/month Enterprise subscription which other IDEs provide for free.
In all fairness, having being forced to work on mac recently for a cross platform application, the nuances of the macOs I hear dotNet people complain about are honestly NOTHING compared to how bad the Visual Studio for mac experience is.
We tried the Rider trial and it was a far superior experience, but the price wasn't justified for our use case.
I and others configured nvim to just work, and some others just stuck to vscode with the cli. Not one person wants to use the Visual Studio anymore. It's wild how Microsoft missed a great opportunity as I find the machines quite good, and the Windows experience with Visual studio is genuinely impressive.
VS Code has utterly failed me for a bog-standard Core project. No jump-to-def, no Intellisense, zilch.
So I expensed a nice KVM and dug the backup Windows laptop out of the closet and got to work without a hitch.
I'm in the habit of preemptively ordering a Mac and a Windows machine for anyone on my team who's so unlucky as to even infrequently have changes to effect on both our iOS and backend systems.
Having lead a team of .NET developers who were slowly being moved that direction (as they were the only .NET devs in the company) here were some of the major hangups:
1) A lot of it is just muscle memory that doesn't work in MacOS. Can't do Ctrl+C, it's Cmd+c. Figuring out the equivalents of things you haven't even thought about doing in a decade can be tough.
2) Not all, but many of them only knew how to work via GUI. Visual Studio for Mac does enable you to do most of that, but learning new stuff like Node requires you to drop into a command line, and more than a few felt like that was way less intuitive and easy to use. They preferred menus you can click through over man pages.
3) A surprising one: case sensitivity. Windows doesn't care, but Mac does for things like filenames. This in combination with 2 would mean there would be some frustration as to why the OS couldn't find a file that was "right there".
4) A lot of them (I'd venture to say all of the ones I was in charge of) were still in .NET mostly because they had gotten comfortable with it, and weren't particularly invested in learning something new unless they had to. So of course throwing a whole new OS at someone with this mindset would be a little frustrating.
5) Building off of #4: some of the old guard came up when Macs were something you bought for the graphics designers and "real" developers used Windows. So they would still crack jokes about having to use a "Crapintosh" without realizing how powerful the ecosystem has become.
Personally I agree with you, I've worked with mono extensively before too, but there was a few people close to me who would constantly complain about how the library support was lacking. One case I remember off the top of my head was Network related, so working with Samba, and the nuances of support that come with it. Related issues I remember seem to stem from that.
There was a few issues (incomplete in the dotnet core) that would involve particular cases with threat priorities and pooling.
This recent project though, all of the System libs seem to be perfect. My previous comment might have sounded disparaging to Microsoft, but they've done an incredible job recently and deserve credit.
My guess is that the "dotNet people" mentioned by parent didn't come from Linux, but from Windows. Different experience using Visual Studio on Windows compared to Linux, one would think ;)
You're right, and I wont criticize them too much, I can understand when you're coming from a very robust ecosystem to something even slightly different, other people stuck in their ways tend to complain!
They were desperate to attract more devs who don't care about Microsoft anyways so they started throwing things at wall to see what will stick. VS for Mac did not, but Chrome browser masquerading as a text editor did.
I assume they always kept it shitty as to not cannibalize VS Code, which does get a lot of use (obviously it's very popular). If you ever used it you'd see that it doesn't feel like normal Windows VS, and it doesn't really feel like a good native Mac app either.
> I assume they always kept it shitty as to not cannibalize VS Code,
What a strange take. Why wouldn't they rather not create it in the first place if they were so worried about cannibalizing their free product by ... another free product?
I agree it is strange take but unfortunately when you view everything through some sort of "big corp conspiracy" lense you end up with ideas like this. It's super common on hacker news. Tiresome but ever present.
The most logical explanation would be something like "they released this product because they were making a huge effort to get C# to be a truly cross platform language but the mac adoption remained low so they decided to retire this product and focus more on VS code which has massive adoption on mac"
But that would be too aligned with most developers priorities so it is not even on the radar for most people.
This is because it wasn't originally a visual studio product. This is just the name they gave Xamarin Studio after the company was acquired by Microsoft.
What? Isn't Visual Studio a paid product (aside from the Community edition)? VS Code is free, so if anything, they would keep VS Code as the shitty product.
One solution to keep on using VS on Mac, for those that are (a) weary of VS Code (b) not willing to change to a (paid) JB Rider, is to use something like Parallels to emulate VS on Windows.
Visual Studio under Parallels requires an unholy amount of compute, and those poor schmucks like me consigned to true cross platform development work are currently stranded (last I checked at least) waiting for ARM Windows and Parallels blessings to run behemoths like the adult Visual Studio (ignoring and discounting completely the modern shambling impostor).
VS 2019 runs fine for me under parallels for older net framework applications. SSIS package ui rendering is slower and clunky but gets the job done. 2022 now has an ARM version that is speedy but the last time I used it was slow to get plugins for ssis and ssrs packages. I do all my net core development in Rider and DataGrip for Mac and only use Ssms for server administration work. Rider is just insanely fast on arm Mac’s and puts VS 2022 to shame on similar intel hardware.
I wonder how many cumulative calories were expended on the mini anxiety / disbelief attacks caused by n number of people momentarily misreading this as "Visual Studio Code" rather than "Visual Studio".
Not that I'm the biggest VSCode fanboy although I use it constantly. And not that I even own a Mac anymore come to think of it. But still, the wording of this post definitely contributed to global warming.
[0]: https://news.ycombinator.com/item?id=37325427 [1]: https://news.ycombinator.com/item?id=37326419 [2]: https://news.ycombinator.com/item?id=37369946