Visual studio already supports this in 2015 and older iirc, at least for C# and SQL projects, but it's an undocumented feature. You have to close and re-open the project if you add/remove a file so it notices that it's different.
part of the new project system that grew out of the ill-fated project.json is to make this a first-class experience, but again that's focusing on the .csproj, I have no idea if it applies to C++.
While it does work in the builds, the IDE is not supporting this particularly well. As another comment pointed out, changes on the filesystem are not automatically detected. Also, some IDE functionality doesn't work propetly in a project with <ClCompile Include="*.cpp"/> - for example, Add New/Existing Item fails with an error.
part of the new project system that grew out of the ill-fated project.json is to make this a first-class experience, but again that's focusing on the .csproj, I have no idea if it applies to C++.