But what IS the VS domain? Is it just plain text editing? Because Emacs can smash it at that. Is is programming? Because Emacs beats it in the general case at that, too. Is it programming in a very specific language? This is where it starts to win out, but I don't want to switch editors every time I switch languages, and Emacs does all of that Good Enough. It even has semantic autocomplete in some languages at this point. The only thing it's missing is refactoring tools, which aren't as important when you're not writing Java.
Things like C++ that's specific to Win32 API, C# and ASP.NET, and Windows Phone apps (but that device isn't so popular).
>, but I don't want to switch editors every time I switch languages,
I regularly switch around from MS VS for C++ Win32 API & C#, to Qt Creator for C++ on Linux, to Jetbrains IntelliJ/Webstorm for Java/Android/Javascript, and to Apple Xcode for iOS/Swift.
It doesn't seem that hard to do that. Yes, every vendor-specific editor has its own non-standard keyboard mapping for things like build, debug, run, etc but my brain has no problem mentally remapping on-the-fly to each editor. Press F5 to Run the project in MSVS and then press shift+F10 to Run in IntelliJ. I'm no genius and yet my brain has no problem switching in quick succession. What's really hard is switching from an American physical keyboard to a German one -- e.g. my muscle memory wants to press the key for 'Z' but I always end up with the letter 'Y'.
I can see the advantages of trying to create a universal editor environment in vi/emacs that works on every language but I've tried it and it's not worth it. The customization capabilities (and effort required) in Emacs doesn't match the advanced integrated tools of the vendor-specific code editors.
>The only thing it's missing is refactoring tools, which aren't as important when you're not writing Java.
I also use refactoring for a bunch of other languages like C++, C#, Javascript, and Swift.
MSVS has the GUI dialog editors for Winforms, WPF, ASP.NET. It also has tight integration with SQL Server. It also has slick integration with Azure if you're doing cloud deployment. And if I'm inside a main.cpp file with the cursor is hovering over CreateWindow(), pressing F1 will bring up the exact MSDN documentation for that Win32 function. Last time I looked, Emacs didn't have all that without a lot of customization work.
Conceivably, you can customize Emacs to do anything. However, with MSVS, all the integration of helpful tools (the stuff beyond just syntax highlighting of code) works right out the box.
...Whereas as an Emacs user, I put a lot of work into customizing my tools, learning to work as efficiently as a possible with the tools I have, and all that, and so have a greater connection to them.
We don't have Dialog editors built in, we don't have SQL Server or Azure integration. But we do have doc intgration, courtesy of OmniSharp for C#, and courtesy of various packages for other languages.
Sure, it's a good bit of work, but you get a better environment out of it.
> Sure, it's a good bit of work, but you get a better environment out of it.
That's subjective, though. For some people, it's use the same tool for as much as possible; for others, it's use the right tool for the job.
There's pretty much no objective way to compare Emacs to Visual Studio (or any other IDE, for that matter) since they all perform the same general functions, some more generally than others. When you get down to specifics, it's usually a case of apples and oranges.
The point I made in the post is that while VS might be better with C#, Emacs works well with everything, works Good Enough with most languages, and pretty good for C#. In fact, looking over the feature list for Emacs C# editing (https://www.emacswiki.org/emacs/CSharpMode), I can't find anything obviously missing from VS.
In any case, I don't want to learn a new environment every time I change languages.
> In any case, I don't want to learn a new environment every time I change languages.
I don't see anyone advocating that you be forced to do so. Hell, as a vi(m) user, Nature's perfect enemy of an Emacs user, I don't actually give a damn as long as you get the line-endings right.
If you were looking for a list of extensions for Emacs (or macros or whatever), then feel free to contribute a list.
Nah, I was just seeing if there might be some good extensions that I should look for (or write) in Emacs-land. None of them seemed to be all that worthwhile, IMHO.
Why would you learn Emacs if you do only C# or other MS technologies and have already mastered VS.And that was exactly what my comment was about. Emacs is the best general purpose tool that you can tweak to your needs and make it also superior in things of your choosing. VS works well what it was designed for.
Also as an Emacs user working on Windows I have to tell you that Emacs experience and performance is sadly subpar compared to OSX or Linux.