Can Emacs do this?

I'd agree with much of hyperbling's answer.

I would make the point that configurability and extensibility are some of emacs' key features.

Extensibility versus wizards

Much as people have complained about comments regarding turing completeness, I would say there is a germ of truth in the comments. Emacs can be extended very easily by you on the fly in a way that's not really true with IDEs. This means that you can actually more able to discover and use the functionality that is provided (short keybindings that you can actually remember versus trawling through wizards), and also allows you to work around missing features more easily.

Some examples (I use evil): ",kb" pops up a clickable buffer on my screen on all the class and method definitions in, ",Pf" pops a fuzzy searchable list of all files, I have a tiny simple program that parses a python traceback and jumps me to the corresponding line in python, it took like 10 minutes to code.

Use the command line

Some of these features have likely evolved in the context of people not having access to the command line. You can make up for their absence using command line tools, and potentially glue together task specific, glue-code, monstrosities on the fly to get the effect that you want.

Manpower arguments

This is standard cathedral and the bazaar stuff. There is something true about the "look they have a full-time team of people they'll always be better".

However the towering monuments of wikipedia, stackoverflow, github and google suggest there are other forces at play that emacs may be well suited to take advantage of.

The flat nature and composibility of emacs extensions make drive-by feature implementation simpler can IDEs. As in a way does having a number of emacs extensions that exist outside of emacs - since they can be developed in parallel and shipped outside of emacs.

This has the downside insofar as the "out of the box" configuration lacks features, and often the experience of installing the extensions can be "just good enough".

/r/emacs Thread