Проблема с переименованием файлов заключается в том, что если вы хотите воспользоваться преимуществами рефакторинга Visual Studio, вам действительно нужно сделать это из Visual Studio.
Но большинство (не все *) системы контроля версий также хотят быть теми, кто делает переименование.
Одним из решений является использование интегрированного управления исходным кодом, но это не всегда доступно, а в некоторых случаях довольно неуклюже.
Лично мне было бы удобнее использовать контроль исходного кода отдельно, вне Visual Studio, но я не уверен, как решить этот вопрос с переименованием файлов.
Итак, для тех из вас, кто использует Visual Studio, какой источник контроля вы используете? Используете ли вы интеграцию VS (какая?) И как иначе решить эту проблему с переименованием?
(* git достаточно умен, чтобы решить сам)