it-swarm.com.ru

Как найти файл в обозревателе решений в Visual Studio 2010?

У меня есть огромное решение с несколькими проектами. Иногда мне нужно перейти к файлу в Solution Explorer . С помощью функции VS 2010 ' Navigate To ' я могу открыть любой файл по имени в Visual Studio 2010, но я хочу иметь возможность выбрать файл также в Solution Explorer ?

154
Amitabh

В обозревателе решений можно отслеживать активный (открытый и просматриваемый) элемент. Если файл отображается, будет выбран файл в обозревателе решений.

Инструменты-> Параметры-> Проекты и решения-> Отслеживание активного элемента в обозревателе решений

178
Jeff Mercado

VS2012 добавил новую команду с именем SolutionExplorer.SyncWithActiveDocument. Ярлык по умолчанию для c # Ctrl+[,S

Эта команда перейдет к активному файлу в обозревателе решений.

Также кажется, что вам нужно отключить опцию "Отслеживать активный элемент в обозревателе решений".

124
Aaron Carlson

Shift+Alt+L найдет текущий файл в обозревателе решений в Visual Studio 2008+ с установленным ReSharper.

114
Rob Willis

Я нахожу вариант трека немного раздражающим.

Я предпочитаю использовать DPack. Он содержит операцию «Найти в обозревателе решений», а также множество других функций (некоторые из них менее мощны в VS2010, как и их браузеры), и это бесплатно.

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

34
HuBeZa

Брайан Шмитт имеет отличный Найти файл в обозревателе решений - Visual Studio Macro post для этого. Макрос очень прост и быстр. В основном это переключает настройку

Tools->Options->Projects and Solutions->Track Active Item in Solution Explorer

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

Public Sub LocateFileInSolutionExplorer()
    DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
    DTE.ExecuteCommand("View.TrackActivityinSolutionExplorer")
    DTE.ExecuteCommand("View.SolutionExplorer")
End Sub

Привязать Keyboard ShortCut к этому пользовательскому макросу, чтобы эффективно создать то, что должно быть встроенной функцией Visual Studio.

27
Martin Hollingsworth

Если у вас есть ReSharper и вы хотите добавить «Найти в обозревателе решений» в контекстное меню вкладки:

  1. Зайдите в Инструменты -> Настройка -> Команды -> Контекстное меню
  2. Выберите «Другие контекстные меню | Простое MDI окно документа».
  3. Нажмите «Добавить команду».
  4. Выберите «Resharper» -> «ReSharper_LocateInSolutionOrAssemblyExplorer»
  5. «ОК» -> «Закрыть»

Теперь, когда вы щелкнете правой кнопкой мыши по любой вкладке, вы увидите новую опцию: Найдите в обозревателе решений.

Обновление:

Следуя комментарию @ jeremy-paskali, вы можете установить сочетание клавиш для этой команды:

  1. Зайдите в Инструменты -> Настройка -> "Клавиатура ..."
  2. Найдите «ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer» в поле «Показать команды, содержащие» и выберите его.
  3. Просмотрите назначенные в данный момент ярлыки в раскрывающемся списке ниже.
  4. Внесите любые изменения, если это необходимо.
  5. «ОК» -> «Закрыть»
13
Shay Nissel

Я знаю, что немного поздно, но надеюсь, что это поможет кому-то еще. Наилучшим вариантом сейчас является установка Microsoft Visual Studio с надстройкой - Инструменты повышения производительности.

http://visualstudiogallery.msdn.Microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef

С этим приходит «Solution Navigator» (альтернатива Solution Explorer, с большим количеством преимуществ) - который затем вы можете использовать для фильтрации файлов, чтобы показать только «Open». Вы даже можете фильтровать файлы, чтобы показать «Отредактировано» и «Несохранено».

11
friend

Visual Studio 2012 имеет новый ярлык Ctrl [, S. Да, вам нужно ввести Ctrl [, а затем отпустить, а затем сразу же ввести S (или щелкнуть маленький значок синхронизации в верхней части Solution Explored). Это будет синхронизироваться с элементом.

Конечно, вы можете изменить ярлык. Я думаю, что я попробую Alt+L для поиска. 

Обычно это более полезно, чем всегда отслеживание, которое в старых версиях всегда было катастрофой, потому что оно отслеживало 100 элементов подряд, а затем прыгало повсюду ...

7
Simon_Weaver

В случае, если вы хотите отслеживать только текущий файл через Сочетание клавиш - активность «View.TrackActivityinSolutionExplorer» (назначьте ключи здесь -> Инструменты - Параметры - Среда - Клавиатура)

Кредит (комментарий Джеймса)

Это сработало для меня 

4
pingo

Это на самом деле встроено в визуальную студию без необходимости ReSharper (который я люблю BTW).

http://blogs.msdn.com/b/zainnab/archive/2010/03/29/track-active-item-in-solution-Explorer-vstipproj0011.aspx

1
Vince Panuccio

Для Visual Studio 2017 с использованием французской клавиатуры AZERTY команда такая же, как указано Аароном Карлсоном, но сочетание клавиш отличается.

Сочетание клавиш AZERTY для перехода к активному файлу для C # является Ctrl+),Ctrl+S

Я проверил, что ярлык не изменился для QWERTY пользователей в VS2017 на этой странице http://visualstudioshortcuts.com/2017/

0
PhilG

В Visual Studio 2010 вы можете включить параметр «Отслеживать активный элемент в обозревателе решений». Это будет означать, что при переключении между документами новый документ выбирается в обозревателе решений. Это может раздражать, если в вашем решении много папок, потому что при перемещении файлов в решении все папки останутся открытыми.

Visual Studio 2012 представила новую функцию «Синхронизация с активным документом». Три - это кнопка вверху Solution Explorer, или вы можете использовать ярлык Ctrl + [, S.

 screenshot of sync with active document button

0
thelem

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

Я протестировал его, установив ярлык на Alt + T, и я могу подтвердить, что он работает с VS 2010.

Спасибо Дэну Вандербуму за его написание.

0
Robert Whitley