Я хотел бы найти лучший способ сформулировать заголовок, но, надеюсь, он станет более понятным, когда я объясню. Я также надеюсь, что Visual Studio поддерживает то, для чего я хотел бы его использовать, или что кто-то знает о подключаемом модуле или удобном обходном пути, который ответит на мой вопрос.
Очень простой пример:
using System.IO
public class MyClass
{
if (File.Exists("myfile.txt"))
{
//Do something that doesn't involve System.IO
}
}
Я хочу указать на конкретное использование (например, System.IO) и найти каждую строку, которая зависит от директивы использования, например строку «File.Exists».
В VS2012 вы можете щелкнуть правой кнопкой мыши директивы «using» в начале файла и выбрать «Организовать использование» > «Удалить неиспользуемое использование». Это здорово, но я хочу сделать наоборот.
Неуклюжее и трудоемкое решение. Один из способов – стереть используемую строку и попытаться построить ее, а затем просмотреть все ошибки, чтобы попытаться найти подходящие. Этот ответ похож на взлом, требует времени и выдает результат в виде списка ошибок.
Обстоятельство. Я рефакторинг кода. Один из классов содержит более 4000 строк кода и 13 директив using. Глядя на внутренние ссылки, я могу сказать, что этот класс горилл весом 800 фунтов ссылается на пространства имен из самых разных частей системы. Я хочу определить области кода, которые используют конкретное использование, чтобы помочь мне сегментировать этот класс. Простая компиляция с отсутствующим использованием требует времени и не дает результатов в полезном формате.
Чтобы попытаться сформулировать вопрос по-другому: «Как мне заставить Visual Studio показать мне все строки кода, которые зависят от конкретной директивы using?»