When comparing Microsoft Visual Studio vs GNU Emacs, the Slant community recommends GNU Emacs for most people. In the question“What are the best IDEs for C++ on UNIX-like systems?” GNU Emacs is ranked 7th while Microsoft Visual Studio is ranked 18th. The most important reason people chose GNU Emacs is:
Customizations can be made to a wide range of Emacs' functions through a Lisp dialect. A robust list of existing Lisp extensions include the practical (git integration, syntax highlighting, etc) to the utilitarian (calculators, calendars) to the sublime (chess, Eliza).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Free Community Edition
The Community Edition of Visual Studios and the Unity add-on can be downloaded and used free of charge.
Pro IntelliSense
IntelliSense is the general term for a number of features: List Members, Parameter Info, Quick Info, and Complete Word. These features help you to learn more about the code you are using, keep track of the parameters you are typing, and add calls to properties and methods with only a few keystrokes.
Pro One of the few bearable C++ debuggers available
Pro There's a huge library of plugins
Visual Studio has a massive library of plugins to choose from.
Pro Extensions
Pro Modern language support
The recently released 15.7 branch provides competitive modern language support.
Pro Product backlog
In agile development teams, one really needs features such as product backlogs where you can assign features to team mates and track their progress on them. VS provides a web based interface for you to track your team's complete progress on the project.
Pro GitHub integration
Makes production faster especially if git is used. One can see changed files at the go and commit (with push possibility) when ever one so desires.
Pro More modular installer
Visual Studio 2017 supports a much more modern and modular installer. You no longer have to install many gigabytes of stuff you don't need. Everything is broken down into much smaller pieces and it's much more apparent which pieces you need.
Pro Embedded cloud storage
Your Visual Studio Online account gives you a place to store your code, backlog, and other project data with no servers to deploy, configure, or manage.
Pro Friendly UI
Pro Comes with a Windows framework
Pro Infinitely customisable
Customizations can be made to a wide range of Emacs' functions through a Lisp dialect. A robust list of existing Lisp extensions include the practical (git integration, syntax highlighting, etc) to the utilitarian (calculators, calendars) to the sublime (chess, Eliza).
Pro Completely free
Licensed under GNU GPL.
Pro Keyboard-focused, mouse-free editing
Emacs can be controlled entirely with the keyboard.
Pro Works in terminal
You can use Emacs' command line interface or graphical user interface.
Pro Self documenting
Emacs has extensive help support built-in as well as a tutorial accessed with C-h t.
Pro Has turn-key packages for IDE work
Packs like spacemacs make it easy to get started and bring the learning curve down from an infinitely regressing spiral to something more manageable.
Pro Works over SSH
Pro Great Integration
Emacs has modes for nearly every use case, even ones like mail and internet browsing. It has often been said that Emacs is essentially an operating system on its own.
Pro Has Vim emulation
Evil-mode makes Emacs actually usable as an editor.
Cons
Con Sluggish
Horribly slow on low-end machines due to bulky size, they should modularize it instead of trying to do everything.
Con It's very large
The most basic Visual Studio installation will take up 5GB of disk space.
Con Non native window frame
IDE main window lacks standard window frame (titlebar/borders) - a custom solution is in use where custom titlebar contains numerous application-specific controls. This results in inconsistent UX and can also be problematic when you're using shell replacements or other various window-management software (such as bbLean).
Con Non-standard keyboard commands
I'm editing this in Chrome, but I could be using Firefox, Edge, or any other browser, or Notepad, or even Libreoffice or Microsoft Word, and in ALL of those cases, keys would work exactly the same way, including how to jump around by word, select words, cut/copy/paste, etc.
Pretty much all modern editors share the same basic key combinations, from Visual Studio to Sublime to Atom to VS Code to Xcode. Becoming an Emacs expert means you need to mode-shift between code editing and editing in your browser; adding Emacs modes to SOME apps means you need to remember which key bindings to use where. The cognitive load added by switching between Emacs and other text editors is not worth it, especially since all the advantages of Emacs are now available in free editors elsewhere.
Con Not set up as an IDE by default
Requires customization to get IDE-like features. Luckily a few features such as compilation, debugging, and syntax highlighting are included.
Con Learning curve is steep
While it's better than it used to be, with most functions being possible through the menu, Emacs is still quite a bit different from your standard editor. You'll need to learn new keyboard shortcuts.
Con A UI designed before anyone had a clue about UI design
Emacs is positively NOT a well-designed user interface. Its design dates back to the time when all microwaves still needed instructions and VCRs universally displayed a flashing 12:00 because no one could figure out how to operate them. Many modern editors have 100% of the power of Emacs with none of the hassle.
Con Chorded keyboard combinations can be baffling
For example, for navigation it uses the b, n, p, l keys. Which for some people may seem strange.
