Могу ли я остановить Visual Studio от рефакторинга вне текущего проекта? - PullRequest
2 голосов
/ 03 апреля 2010

Я работаю в библиотеке классов, и есть другие исходные проекты, связанные с тем же решением. Есть ли способ для меня, чтобы мешать инструментам рефакторинга VS обходить эти другие проекты, не удаляя их из решения, но оставляя все то же самое?

Причина, по которой я спрашиваю, состоит в том, что я часто знаю, что измененный символ не существует в других проектах, и рефакторинг занимает много времени, просматривая все проекты в решении. Особенно, если в решении есть громоздкий веб-проект.

Ответы [ 2 ]

0 голосов
/ 03 апреля 2010

(В комментарии не хватает места, поэтому я пишу полный ответ ...)

@ Дэн: Я думаю, что основная потребность довольно распространена: мы хотим, чтобы рефакторинг (и любая другая компьютерная операция) появлялся немедленно *. Всякий раз, когда наступает заметная задержка, мы хотим, чтобы все было быстрее, и мы начинаем искать способы сделать это.

Одна из причин того, что встроенный рефакторинг для C # может быть медленным, заключается в том, что мы сознательно выбрали правильность, а не производительность. Мы знали, что некоторые из наших пользователей будут иметь большое значение для TDD, и они смогут обнаружить и исправить ошибку в автоматическом рефакторинге, но многие пользователи будут зависеть от нашей реализации. Мы подумали, что если вы знаете, что мы можем ошибиться в рефакторинге, вы станете подозрительным и перестанете использовать инструмент. Итак, мы нашли время, чтобы провести детальную проверку рефакторинга. (Существуют и другие причины, и можно выполнить быстрый и надежный рефакторинг, но доставка также является функцией.)

В этом случае @jdk хочет сказать Visual Studio: «Эй, не беспокойся об этих других проектах, я приму риск пропустить что-то важное». Боюсь, на самом деле не существует способа сделать это.

Вы не сказали, какую версию Visual Studio вы используете. Я почти уверен, что команда продолжала улучшать производительность инструментов, поэтому вы можете проверить VS 2010 RC (http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx) и посмотреть, что будет лучше.

Некоторые сторонние инструменты рефакторинга работают быстрее. Я не присматривался, но я уверен, что некоторые используют простой подход к производительности и делают ошибки в некоторых случаях, в то время как другие более надежны. Тщательно выбирайте.

* Всякий раз, когда кто-то спрашивал меня, "это достаточно быстро?" Я спросил в ответ "заметит ли пользователь задержку?" Если да, то они хотели бы это быстрее. Любая задержка разочаровывает, как отсутствующая функция или ошибка. Наша задача - решить, когда пришло время вносить изменения и когда отправлять.

0 голосов
/ 03 апреля 2010

Не используется инструмент рефакторинга по умолчанию, нет. Вам нужно будет создать новое решение, содержащее только один проект (что можно сделать, просто открыв файл proj), выполнить переименование в этом контексте и затем вернуться к исходному многопроектному решению.

...