Уже пару лет я что-то делал с этим. Однажды я написал плагин VS, который искал файлы в решении. Он работал с переименованием, если я помню (к сожалению, я не могу проверить, потому что это было для VS 2015). Я сделал это с событиями DTE назад, чем. Я создал DteEventHandler и добавил в DocumentEvents.DocumentSaved свою функцию.
dte = Package.GetGlobalService(typeof(DTE)) as DTE2;
events = dte.Events;
docEv = events.DocumentEvents;
docEv.DocumentSaved += ScanDocumentForFunction;
Другой способ - это, вероятно, просмотреть файл решения. Файл решения содержит все файлы csproj, и вы можете получить оттуда все файлы.
dte = FillIndexListCommandPackage.GetGlobalService(typeof(DTE)) as DTE2;
var solutionnamearr = dte.Solution.FullName.Split('\\');
...
если вы используете git, это, вероятно, самый простой способ просто вызвать состояние git в командных окнах и передать результат через логику вашего плагина.
Надеюсь, я помог вам или указал вам хотя бы в правильном направлении.