Як знайти файл у Провіднику рішень у Visual Studio 2010?


172

У мене величезне рішення з кількома проектами. Колись мені потрібно перейти до файлу в Провіднику рішень . Використовуючи функцію " Перейти до " VS 2010, я можу відкрити будь-який файл за іменем у Visual Studio 2010, але хочу також вибрати файл у Провіднику рішень ?


4
Питання стосувалося VS2010, але у випадку, якщо хтось дивиться на VS2013: Перевірте Ctrl-; для пошуку в Провіднику рішень або Ctrl- для функції VS2012 / 13 "Перейти до".
Іван

1
Про рідний спосіб для VS 2012 і вище, ознайомтеся з відповіддю Аарона Карлсона нижче.
Дерек Моррісон

Відповіді:


198

Існує можливість відстежувати активний (відкритий і переглянений) елемент у провіднику рішень. Якщо файл переглянуто, буде обраний файл у провіднику рішень.

Інструменти-> Параметри-> Проекти та рішення-> Відстежуйте активний елемент у Провіднику рішень


33
Ці налаштування спричиняють, що вузли проектів та рішення постійно розширюються, коли я відкриваю файли. Після 15 хвилин роботи над більшим проектом у мене розширилося так багато вузлів, що програма для пошуку рішень стає непридатною. Рішення DPack краще IMO.
Карел Крал

@ karel-kral, я додав відповідь, що використовує макрос для переключення цього параметра, який працює навколо цієї розширеної проблеми з вузлом.
Мартін Холлінгсворт

перераховані тут рішення про перестановку або dpack вирішують проблему, про яку згадує Мартін, і роблять цю відповідь не кращим варіантом, якщо у вас є будь-який з інших.
Роб Седвік

2
Для VS2012 + @ відповідь Аарона найкраща. Немає встановлення речей Ctrl + [, s
BritishDeveloper

3
Він сказав, що хоче лише весь час відслідковувати файл "Іноді". Відповідь Аарона Карлсона слід позначити як правильну відповідь.
RayLoveless

150

VS2012 додав нову команду під назвою SolutionExplorer.SyncWithActiveDocument. Ярлик по замовчуванню для c # - Ctrl+ [,S

Ця команда перейде до активного файлу в Провіднику рішень.

Крім того, здається, що вам потрібно вимкнути параметр "Відстежувати активний елемент у Провіднику рішень".


4
Масовий нагляд, що це не перейшло у Visual Studio 6.0. Або навіть раніше. WTF.
Альмо

3
Дякую! У моєму VS2013 , Ctrl+ [, Sбуло встановлено за замовчуванням, щоб перевірити файл і SolutionExplorer.SyncWithActiveDocumentне було налаштовано.
hwcverwe

1
@krypru, я вже деякий час використовую VS2015, і він все ще працює для мене. Може бути, це не відображено в одній і тій же ярлиці у вашому оточенні?
Аарон Карлсон

2
FYI, не потрібно пам'ятати про клавішу швидкого доступу: Провідник рішень (я в VS 2015) вгорі має значок (подвійні стрілки), який робить "Синхронізувати з активним документом".
ToolmakerSteve

2
VS 2017 додав відображення клавіатури "ReSharper" у розділі Інструменти -> Параметри -> Навколишнє середовище -> Клавіатура. Це відображає вбудовану функціональність VS на еквівалентну ярлик ReSharper. Після цього ви можете скористатися ярликом Shift+ Alt+ L.
Ідеальний

121

Shift+ Alt+ Lзнайде поточний файл у Провіднику рішень у Visual Studio 2008+ із встановленим ReSharper.


4
коли ви відстежуєте, ця комбінація не потрібна.
Давут Гюрбюз

5
Це команда Reshaper. Для мене працює Visual Studio 2010 з встановленим ReSharper.
Радім Черней

+1; @ DavutGürbüz Інколи вам це потрібно, щоб натиснути Visual Studio 2012, щоб знову почати автоматичне відстеження. Раз у раз (незважаючи на прапорець "... Track Active ..." під час перевірки, Visual Studio 2012 припиняє відстежувати. Цей ярлик ReSharper повторно активує це без необхідності перезапускати Visual Studio.
Jeroen Wiert Pluimers

@JeroenWiertPluimers Я бачу. Я використовую розширення DPack. Він дуже легкий і простий у використанні. Ви просто клацніть правою клавішею миші на вкладці файлу і виберіть пункт Знайти в Провіднику рішень Я настійно рекомендую. Він працює у всіх версіях VS. ReSharper також хороший, але ми не віддаємо перевагу. Тому що ми не використовуємо більшість його можливостей. Це робить VS важче. Відстеження робить дослідник рішень безладним. DPack - найкращий. stackoverflow.com/a/4747759/413032
Davut Gürbüz

3
Для роботи Shift + Alt + L не потрібно включати відстеження. Принаймні, не у VS 2010, яким я користуюся.
Tor Haugen

36

Я знайшов варіант треку трохи дратує.

Я вважаю за краще використовувати DPack . Він містить операцію "Locate In Solution Explorer", а також безліч інших функцій (деякі є менш потужними у VS2010, як і їх браузери), і це безкоштовно .

Зауважте, що у ReSharper також є функція пошуку, яка працює тісніше, ніж DPack (у деяких випадках пошук DPack не працюватиме, якщо файл згорнуто за папками), але ви не хочете купувати ReSharper лише для цієї функції .


Найбільш безпроблемне рішення ("Track Active Item" дратує, і ReSharper не безкоштовний).
Ян Кемп

@IanKemp, справа смаку. IMO відстеження дратує, тому що: 1. Іноді мені подобається дерево sln, щоб залишатись зосередженим на певному вузлі. 2. Через деякий час дерево слн повністю розширюється.
HuBeZa

28

Брайан Шмітт має чудовий файл "Знайти файл" у Провіднику рішень - для цього макрос Visual Studio Macro . Макрос надзвичайно простий і швидкий. В основному це перемикає налаштування

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

Прив’яжіть ярлик клавіатури до цього користувальницького макросу, щоб ефективно створити те, що має бути вбудованою функцією Visual Studio.


Це дійсно працює у VS 2010 та простіший у налаштуванні, ніж ви думаєте (поради щодо додавання макросу: helixoft.com/blog/archives/6 ).
користувач1068352

Посилання, розміщене в першому рядку відповіді, порушено. Чи можете ви це виправити?
Тяги Ахілеш

@TyagiAkhilesh - зауважте, що ця відповідь (додавання власного макросу) потрібна лише у тому випадку, якщо ви все ще використовуєте VS 2010. Більш нові версії мають вбудовану команду.
ToolmakerSteve

16

Якщо у вас є ReSharper і ви хочете додати в контекстне меню вкладки "Знайти у провіднику рішень":

  1. Перейдіть до Інструменти -> Налаштувати -> Команди -> Контекстне меню
  2. Виберіть "Інші меню контексту | Вікно документа MDI".
  3. Натисніть "Додати команду".
  4. Виберіть "Resharper" -> "ReSharper_LocateInSolutionOrAssemblyExplorer" (у VS2019 назва категорії було змінено на "Розширення")
  5. "ОК" -> "Закрити"

Тепер, клацнувши правою кнопкою миші на будь-якій вкладці, ви побачите новий варіант: Знайдіть у Провідника рішень.

ОНОВЛЕННЯ:

Після коментаря від @ jeremy-paskali, ви можете встановити комбінацію клавіш для цієї команди:

  1. Перейдіть до Інструменти -> Налаштувати -> "Клавіатура ..."
  2. Шукайте "ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer" у полі "Показати команди, що містять" та виберіть його.
  3. Перегляньте призначені на даний момент ярлики в спадному меню нижче.
  4. Внесіть будь-які зміни, якщо потрібно.
  5. "ОК" -> "Закрити"

3
У Visual Studio 2015, якщо ви натиснете кнопку "Клавіатура ..." внизу вікна "Налаштувати", ви перейдете до діалогового вікна Параметри -> Навколишнє середовище -> Клавіатура. У цьому діалоговому вікні ви можете перейти до "ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer" і знайти або змінити ярлик клавіатури для цієї команди. Я виявив, що для мого VS2015 встановлено значення "Shift + Alt + L", і воно працює!
Джеремі Паскалі

Більш ніж через два роки, щоб сказати, що фокус у контекстному меню все ще працює з VS 2017 та R # 2018.2. Дякую за це!
Майкл Армес

Якщо Shift+Alt+Lтестування не допомогло вам у VS2019, це, безумовно, справляється з цим.
gosr

11

Я знаю її трохи занадто пізно, але сподіваюся, що це допоможе комусь іншому. Найкращий варіант зараз - встановити додаток Microsoft Visual Studio на називається - Productivity Power Tools.

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

З цим виходить "Solution Navigator" (альтернатива Solution Explorer, з великою кількістю переваг) - який потім ви можете використовувати для фільтрації файлів, щоб показувати лише "Open". Ви навіть можете фільтрувати файли, щоб показувати "Відредаговано" та "Не збережено".


Я використовую VS 2012 та електроінструменти. Навігатора рішення не бачу ніде. Чи хотіли б Ви детальніше розглянути цю тему? Скажіть, де саме знаходиться навігатор рішення.
відмітка

Відредаговано. Майкрософт планував це робити, але в результаті мігрував лише його частини. Я був розчарований, що вони і цього не залишили.
друг

10

У Visual Studio 2012 з'явився новий ярлик Ctrl [, S. Так, потрібно ввести, Ctrl [а потім відпустити, а потім негайно ввести S(або натиснути маленьку піктограму синхронізації у верхній частині Solution Explored). Він синхронізується з елементом.

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

Якщо ви хочете змінити ярлик, це ім'я команди під Options\Environment\Keyboardце SolutionExplorer.SyncWithActiveDocument.

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


Чудово !!! У моєму VS2012 комбіновані клавіші є Ctrl+', s. Тож треба змінитись [цитатою '. Я сподіваюся, що це комусь допоможе.
ferpega

3
"або клацніть піктограму синхронізації у верхній частині Solution Explore." Мені найпростіший спосіб досягти цього в нових версіях VS. Хороший!
Андреас

Дякую @mrt! Я цілком заперечував це у цій відповіді; але ви врятували мене від необхідності робити якісь дивні кроки налаштування (або запам'ятати незрозумілий ярлик) ...! Ця кнопка повинна бути
виразніше

5

У випадку, якщо ви хочете відслідковувати лише поточний файл за допомогою комбінації клавіш - це "View.TrackActivityinSolutionExplorer" (призначте тут клавіші -> Інструменти - Параметри - Навколишнє середовище - Клавіатура)

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

Це працювало для мене


Зверніть увагу, це перемикає опцію "Відстежувати активний елемент у Провіднику рішень". Якщо ви не хочете зберігати цю опцію (бо це дратує), вам доведеться ввести призначені ярлики двічі: один раз, щоб увімкнути її (знайде обраний елемент), а потім знову, щоб вимкнути опцію.
Річард


0

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

Я перевірив це, встановивши ярлик на Alt + T, і можу підтвердити, що він працює з VS 2010.

Дякуємо Дену Вандербому за його написання.


0

У Visual Studio 2010 ви можете увімкнути опцію "Відстежувати активний елемент у Провіднику рішень". Це буде означати щоразу, коли ви переходите між документами, новий документ вибирається в Провідника рішень. Це може викликати роздратування, якщо у вашому рішенні багато папок, оскільки під час переміщення файлів у вашому рішенні всі папки залишаться відкритими.

Visual Studio 2012 представила нову функцію "Синхронізувати з активним документом". Три - кнопка для неї у верхній частині Провідника рішень, або ви можете скористатися ярликом Ctrl + [, S.

скріншот синхронізації з активною кнопкою документа


Хіба це вже не було адекватно висвітлено існуючими відповідями років тому?
ToolmakerSteve

0

Для Visual Studio 2017 за допомогою французької клавіатури AZERTY команда така ж, як заявлена ​​Аароном Карлсоном, але комбінація клавіш відрізняється.

Ярлик клавіатури AZERTY для переходу до активного файлу для c # є Ctrl+ ), Ctrl+S

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.