News for hackers. Stuff that matters.
Re:.NET Hot Reload Support via CLI by creato on Saturday October 23, 2021 @06:45PM (#28973109)
Has anything ever actually replaced VS?

I've only ever used VS for hobby/side projects, and even 10 years ago it was leaps and bounds better than what I have to use for my professional day to day work now (code completion, debugger are the two things that I miss basically every day).

The tools that I use now have these features, but they're such a joke in comparison. The code completion has no notion of "code", it's just looking for similar words.

Re:.NET Hot Reload Support via CLI by jimmaswell on Saturday October 23, 2021 @06:57PM (#28973200)
I use VS and VS Code for different things today. VS is much better for something it's made for like a C# project with a solution/projects, and VS code is great as something that works with an existing file structure like an old Java project or a folder full of random Python scripts.

VS Code still has good code completion/etc but it doesn't seem able to match the instant responsiveness of VS.

Re:.NET Hot Reload Support via CLI by moogly on Saturday October 23, 2021 @06:47PM (#28973124)
For many workloads (at least .NET), JetBrains Rider.

For C/C++ on Windows, well, you have VS Code and also JetBrains CLion, but IMO CLion is surprisingly rougher than Rider, even though it's older. You can get stuff done though.

Re:.NET Hot Reload Support via CLI by other_herbert on Saturday October 23, 2021 @09:18PM (#28974000)
I'll add my 0.02$ for rider too.. it even works (in EAP) for m1 arm... I do use vs code and rider depending on if I'm debugging something on the server or need to save the small amount of ram I've got on my air for debugging in the browser.. but m1 Rider is FAST.. far faster than even rider in linux on my xps with 32gb of ram
Re:.NET Hot Reload Support via CLI by nodejs_rulez_1 on Saturday October 23, 2021 @08:18PM (#28973680)
Rider is a non-starter - doesn't even have a community edition.
Re:.NET Hot Reload Support via CLI by babypuncher on Saturday October 23, 2021 @09:22PM (#28974026)
This is what keeps me on Visual Studio. It's free for personal and open-source use, so I use it at home.

Since I know it and am familiar with it, I make my employer pay for a commercial license at work. In the grand scheme of things, it is not that expensive in a commercial setting.

VS Code is great, but I do not think it is a comprehensive replacement for Visual Studio proper when doing full stack .NET development.

Re:.NET Hot Reload Support via CLI by gbraad on Saturday October 23, 2021 @09:36PM (#28974115)
You can use OmniSharp. It is not ideal, but makes life easier.

Though it seems MS actively disallows employees to come n tribute to them.

If you do GUI work, you pretty much have to use VS. :-/

Re:.NET Hot Reload Support via CLI by DeathArrow on Sunday October 24, 2021 @03:25AM (#28975636)
Intellisense is not that good. Intellicode is missing. Managing nugget packages is not so well integrated. It's harder to debug and investigate memory leaks. I can't see code coverage in the editor or run tests with right click straight from the method I want to test.

It's usable for sure but the development it's not as fast as in Visual Studio.

I still use VS Code if I want to modify some files like XML, json, yaml, and I don't want to fire another instance of Visual Studio for that.

Re:.NET Hot Reload Support via CLI by rafaelvasco on Sunday October 24, 2021 @12:13AM (#28974911)
VS used to be heavy and bloated. But that was a long time ago. I use VS since 2010 version. It improved by leaps and bounds since then. New 2022 version is almost as fast as VSCode, if you have a good PC.
Re:.NET Hot Reload Support via CLI by babypuncher on Friday November 05, 2021 @11:52PM (#29127365)
Microsoft's official C#/.NET extensions for VS Code use OmniSharp to provide IntelliSense, so I think they are becoming a lot more friendly on that front.

As others have already pointed out, OmniSharp is "good enough", but what's built into Visual Studio is still a lot better.

Re:.NET Hot Reload Support via CLI by DeathArrow on Sunday October 24, 2021 @03:19AM (#28975619)
I feel like VS Code might be better fit for Typescript, Javascript, Python. For C# and C++ I would prefer Visual Studio.

Even with extensions, VS Code feels like an text editor.

Re:.NET Hot Reload Support via CLI by igor_akhmetov on Sunday October 24, 2021 @02:23AM (#28975405)
Rider is also free for open-source and academic use.
Re:.NET Hot Reload Support via CLI by katbyte on Saturday October 23, 2021 @08:54PM (#28973867)
I get the all products pack every year personally and it's worth every penny. One of the two software packages i break my "no subscriptions" rule for, and the only one i'm not even salty about doing so.
Re:.NET Hot Reload Support via CLI by moonchrome on Sunday October 24, 2021 @05:04AM (#28976098)
This - if you're a professional software developer you'll find value in the 200€/year package for their tools. They are just good all around.

My only gripe is not supporting remote development but it's in the works.

Re:.NET Hot Reload Support via CLI by tekknik on Monday October 25, 2021 @06:58PM (#28994240)
My problem with them is so many editors. I want one editor, and it should support every language I want to write in.
Re:.NET Hot Reload Support via CLI by katbyte on Tuesday October 26, 2021 @01:23PM (#29003251)
They all kinda support editing all languages - syntax highlighting ect. but the ui/menus/tools/refactoring/etc are all tailored in each app the the desired language
Re:.NET Hot Reload Support via CLI by jerriep on Saturday October 23, 2021 @08:46PM (#28973831)
It is worth the money. Also, there a verious free license programs available, for example to students, open source maintainers, etc.
Re:.NET Hot Reload Support via CLI by Volrath89 on Monday October 25, 2021 @10:45AM (#28988391)
I happily pay for rider license every year. When you make so much money as a dev, investing in the tool you use every single day makes a lot of financial sense. Even if it makes you 1 or 2% more productive than VS it pays for itself (in my experience the speed boost alone is so worth it)
Re:.NET Hot Reload Support via CLI by d3nj4l on Saturday October 23, 2021 @09:04PM (#28973920)
You can use the EAP builds for free in exchange for some stability issues, which in my experience have affected me all of 0 times. You can even download EAP builds from the toolbox for convenience by clicking on Rider and switching to the "Versions" tab.
Re:.NET Hot Reload Support via CLI by kroltan on Sunday October 24, 2021 @05:16AM (#28976170)
EAP is free, and the subscriptions also work as a one-time payment by giving you permanent access to the latest-at-subscription-start version when accruing a year's worth. So you can pay 1 year and not renew, and it's the same as just buying the thing.
Re:.NET Hot Reload Support via CLI by thrower123 on Saturday October 23, 2021 @10:05PM (#28974269)
It costs less than a cup of coffee a day. Complaining about the price is a nonstarter.
Re:.NET Hot Reload Support via CLI by nonbirithm on Saturday October 23, 2021 @10:21PM (#28974358)
It's not really about the cost. It's about the principle of having to pay any amount of money to be able to do development work at all with your preferred choice of OS/editor.

Attaching a price to your ability to onboard a language with your favorite workflow changes how you view that language and the motives of its maintainers when compared to the alternatives for that platform. Java has no such barrier to adoption on Linux, for example, because IntelliJ happens to have a community edition.

Re:.NET Hot Reload Support via CLI by dmitriid on Saturday October 23, 2021 @10:30PM (#28974413)
> It's about the principle of having to pay any amount of money to be able to do development work at all with your preferred choice of OS/editor.

Are you paid for your work? Why shouldn't the developers of development tools be?

Re:.NET Hot Reload Support via CLI by me_again on Sunday October 24, 2021 @01:53AM (#28975306)
Visual Studio also has a community edition.
Re:.NET Hot Reload Support via CLI by ptx on Sunday October 24, 2021 @04:14AM (#28975850)
Visual Studio's community edition is something entirely different from IntelliJ's community edition. IntelliJ is open source[1] but Visual Studio is proprietary with tricky license terms[2] that limit it to companies of a certain size, among other things.

[1] https://github.com/JetBrains/intellij-community

[2] https://visualstudio.microsoft.com/license-terms/mlt031819/

Re:.NET Hot Reload Support via CLI by igor_akhmetov on Sunday October 24, 2021 @02:26AM (#28975415)
Note that Rider already supports C/C++ on Windows with the Rider for Unreal Engine fork. This fork is planned to get merged into mainline Rider sometime next year.
Re:.NET Hot Reload Support via CLI by enhray on Saturday October 23, 2021 @07:35PM (#28973460)
For C/C++ on Windows and Linux. CMake build support and cross-platform builds and debugging are available out of the box with Community version of VS.
Re:.NET Hot Reload Support via CLI by pjmlp on Sunday October 24, 2021 @02:52AM (#28975498)
Good luck doing MFC, ATL, UWP, DirectX debugging with VSCode.
Re:.NET Hot Reload Support via CLI by moogly on Sunday October 24, 2021 @05:57AM (#28976381)
The "some workloads" also apply for that. I don't know about DirectX, but the other ones might be doable as long as you create the project once in VS and then (for MFC and ATL) hand edit the normally tool-generated partial classes. For UWP, you'd have to hand wrangle the XAML. You'd then invoke MSBuild for building. AFAIK there's nothing super special about MFC and ATL that would make debugging impossible, but it's true I've never tried it in VS Code.
Re:.NET Hot Reload Support via CLI by oaiey on Saturday October 23, 2021 @06:50PM (#28973142)
VS Code and language servers have leveled the game a lot. Regular Editing is pretty much on par. Debugging and diagnostic they are still strong.
Re:.NET Hot Reload Support via CLI by enhray on Saturday October 23, 2021 @07:37PM (#28973469)
There's nothing "on par" when it comes to C/C++/C#, and these three languages are still quite big in non-web world.
Re:.NET Hot Reload Support via CLI by oneplane on Saturday October 23, 2021 @11:24PM (#28974661)
I doubt that. Unless you specifically target win32 and its non-core replacements (like classic full-fat C#) there is nothing that VS has to offer that outdoes other programs.

For the non-web world specifically, the part that was Windows Server and Windows Desktop is simply a dead end outside of niches. And within the niches, comparisons are not all that relevant since... they are niches. If you have a specific job for a specific tool, then trying to compare that with something that does not meet those specifics isn't all that helpful.

Most of my C/C++ work that remains doesn't even target windows anymore since there is no purpose for it. The super small subset that does is just things like device drivers, and that's more a property of the OS than of the project itself.

Re:.NET Hot Reload Support via CLI by DeathArrow on Sunday October 24, 2021 @03:41AM (#28975692)
I do not think Windows desktop is a niche. It doesn't have the same percent of development it used to, but in absolute numbers it didn't decline. Many people are using the Windows desktop and many old and new software is being developed.

Speaking of which, I feel the need to rant a bit: developing for Windows using QT is much more nicer than with any MS framework. MFC is a nightmare. Windows Forms was deprecated in favor of WPF which no one cares about. From C# you can't use Direct X or Vulkan with ease.

Maybe MAUI will bring a better experience. But they need to do something for C/C++, too. Maybe buy the rights to use QT and integrate it with Visual Studio if they don't want to develop a good framework. Or buy the framework from Embarcadero (the one used by C++ buulder). But don't force people into MFC mess. I presume that even their own developers hate MFC with passion.

Winapi was ok in the 80s. MFC was ok in the 90s but we are in 2020s.

Re:.NET Hot Reload Support via CLI by oneplane on Sunday October 24, 2021 @09:33PM (#28983621)
That's probably why people 'like' certain tools, they are still working inside that context or environment and then there are no other tools that do that thing well.

But that doesn't make the tool a great tool in absolute terms. That is also the problem with this type of comparison, some people come up with arguments that are tangential at best. If you use literally anything else (anything that is not winapi, win32, forms, mfc, wpf or some legacy xaml) then Visual Studio is just a limited experience at best, and a steaming pile of crap in most cases.

This goes for more software obviously, if you want to write C# but try to do that in Xcode, you're going to have a bad time. Same for when you need to write a Kubernetes controller in Go, that's going to suck really badly in VS or XC.

There are a few remaining systems that really benefit from unmanaged languages and strong OS-integrated tooling (the niches that were mentioned), but the mass development practises going on today are basically non-desktop and specifically non-windows-desktop. This means that a tool that was designed to be specifically for windows-desktop (or macOS-desktop for that matter) is unlikely to be optimised for anything else.

Windows Desktop as-is might not be a niche, but building local native desktop applications is. Even if you target Windows Desktop right now for a new application, it's likely that it's going to be some crappy CEF/Electron thing. And yes, that's crappy, but it also means you get to use much more of the knowledge/mindshare/community that is out there which is bigger than all desktops combined.

Re:.NET Hot Reload Support via CLI by ayende on Sunday October 24, 2021 @03:06AM (#28975554)
Debugging in code vs in VS is a totally different environment. VS had a fat better debug experience
Re:.NET Hot Reload Support via CLI by oneplane on Sunday October 24, 2021 @09:24PM (#28983582)
There's not much to debug in VS if you write something that doesn't run on Windows.
Re:.NET Hot Reload Support via CLI by hughw on Saturday October 23, 2021 @07:50PM (#28973536)
I've built a ton of C++ in VS Code, and while not as exhaustive as VS, it's very good. You get used to living without Big Refactoring and it's fine.
Re:.NET Hot Reload Support via CLI by vvanders on Saturday October 23, 2021 @07:57PM (#28973570)
VSCode is still pretty sparse on the debugging side of things. I've tried to chase down heap corruption with it and the lack of data views, complex watch/breakpoints really limit it in that scenario.

CLion is getting there, it's not quite as good yet but was still much better than VSCode.

Re:.NET Hot Reload Support via CLI by eitland on Sunday October 24, 2021 @02:35AM (#28975442)
> The tools that I use now have these features, but they're such a joke in comparison. The code completion has no notion of "code", it's just looking for similar words.

Presumably you are not using anything built on the Eclipse, Jetbrains or NetBeans with any language they support? (PHP, Java, Kotlin, Python)

Because out of the box and without any extras all these three beat Visual Studio easily once you start doing anything advanced except GUI, and NetBeans had a reasonable story to sell even there.

On refactoring the story is if not night and day then at least dusk and broad daylight.

Re:.NET Hot Reload Support via CLI by pjmlp on Sunday October 24, 2021 @02:50AM (#28975495)
Try to polygot programming on JetBrains without extras, meaning managed / C / C++.

Similar to what is going on here with Microsoft, they refuse to support what Eclipse and Netbeans do for free, as means to sell Clion licenses, and then make you run two IDEs in parallel.

Re:.NET Hot Reload Support via CLI by DeathArrow on Sunday October 24, 2021 @03:14AM (#28975593)
If you want to use JetBrains tools with C# you have to buy Rider. Visual Studio is free for use unless you are a big company.
Re:.NET Hot Reload Support via CLI by eitland on Sunday October 24, 2021 @03:32AM (#28975657)
Correct, although for many (most?) of Jetbrains products it is free for students and one can apply for licenses for open source work.

That said, for most .Net devs I know the first thing they do after installing Visual Studio is installing Resharper just to get it up to the same level that IntelliJ (including the open source community edition), NetBeans and Eclipse (both open source) provide out of the box.

Re:.NET Hot Reload Support via CLI by oneplane on Saturday October 23, 2021 @11:19PM (#28974642)
To be honest, not needing to write legacy C# and C/C++ applications have replaced VS for me.

It's not a replacement for VS itself in that regard, but the activities that used to be bound to that IDE moved on over the years.

Whenever I have to load some old project into VS, it feels old, slow and clunky compared to other tools. The limitations on the structuring on-desk, metadata, building, linking etc. are very annoying as well for projects that ended up having more than just generic Windows Desktop targets (or even if they are highly specific editions/versions). I suppose that might be because other tooling outside of the process of the 'write-debug-release' chain has moved to broader and more interchangeable concepts where VS has remained basically the same for the last decade.