Як знайти файл у Провіднику рішень у 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.