Microsoft changed a lot in the last years. They embraced open-source, they committed to Linux projects and they ported their applications to other (mobile phone) operating systems. Some people may argue that this is a reaction to the lost efforts with Windows Phone, but whatever the reasons are, the new Microsoft is definitely creating more opportunities than boundaries.
The key question now focuses if the new strategy appeals to non-Microsoft developers, or if only already Microsoft-centered people feel attracted by the changes. My gut feeling tells me that non-Microsoft devs do really welcome the changes, but don't care at all. They are happy with the stack they are using and if Microsoft can be easily integrated that's fine with them. However, it also doesn't mean they have to integrate it.
Let's assume that Microsoft can't win the already lost developers. Embracing the existing ones isn't so bad I guess. But thinking about the future we need to realize that the upcoming devs need to be dragged into the Microsoft world. And it is exactly at this point where I see problems.
In my opinion it starts with the way Microsoft treats programming. They clearly favor very simple tutorials, simple languages and hiding details. They are not interested in providing deep knowledge. When I was encouraged to create a MVA course for modern C++ I wanted to do it in English (as it was advanced content and hence I believe that anyone capable of understand the content is also capable of understanding the English language, but the same is not true with the German language). However, the guys at Microsoft thought different and some comments already reveal that the content may be interesting, but wasn't covered in English and is therefore inaccessible.
Microsoft also still believes that great new employees will come to them. While great companies such as Google are directly contacting top talents, Microsoft is just sitting around waiting for an application that may or may not be considered. I mean how should they know. Apparently they did not try to get information about the candidate beforehand, why should they now try to understand what makes this particular guy interesting for them? This is just an outdated philosophy.
Finally the whole approach of making programming with Microsoft tools and languages attractive is flawed. People think not having Visual Studio on Linux is the problem. It is not. People think having a cross-platform editor is the solution. It is not. I use Sublime Text everywhere. If Visual Studio is available - great, but if it is not then okay. It did not bother me that there is no "Node.js IDE" or "C++ IDE" - Sublime Text (or vim). All I need is a text editor and a compiler. What else would I need? Why is Visual Studio so bloated?
TL;DR: Microsoft is certainly more sexy than ten years ago, but it is just not sufficient to attract new developers. At least existing Microsoft developers seem to be satisfied.