Единственный метод, который я нашел для этого, - полностью ручной. Я создал иерархию фильтров для соответствия папкам. Затем я перехожу к представлению «Показать все файлы» и выбираю одну папку. Я добавляю в эту папку все файлы из этой папки, которых нет в моем решении. Затем я оставляю «Показать все файлы».
На данный момент VS, похоже, неправильно обновляет мой список файлов. Поэтому мне нужно «закрыть решение» и заново открыть решение. На данный момент новые файлы находятся в решении, но не в фильтре. Они находятся на верхнем уровне, внизу проекта. В этот момент я перетаскиваю их в правильный фильтр.
Это утомительно, подвержено ошибкам и трате времени. Но так как мой проект построен с использованием внешней системы make, это единственный способ, которым я могу поддерживать проект в актуальном состоянии и по-прежнему получать достойный поиск и поведение при просмотре в Visual Studio. Стоимость времени окупается позже, но я все еще жалуюсь.