Jak zlokalizować plik w Eksploratorze rozwiązań w programie Visual Studio 2010?


172

Mam ogromne rozwiązanie z wieloma projektami. Czasami muszę przejść do pliku w Eksploratorze rozwiązań . Korzystając z funkcji „ Przejdź do ” programu VS 2010, mogę otworzyć dowolny plik według nazwy w programie Visual Studio 2010, ale chcę mieć możliwość wybrania pliku również w Eksploratorze rozwiązań ?


4
Pytanie dotyczyło VS2010, ale jeśli ktoś patrzy na VS2013: Sprawdź Ctrl-; aby znaleźć w Eksploratorze rozwiązań lub Ctrl-, dla funkcji VS2012 / 13 „Przejdź do”.
Jan

1
Aby uzyskać natywny sposób na VS 2012 i nowsze, zapoznaj się z odpowiedzią Aarona Carlsona poniżej.
Derek Morrison

Odpowiedzi:


198

Istnieje opcja śledzenia aktywnego (otwartego i wyświetlanego) elementu w eksploratorze rozwiązań. Jeśli plik jest widoczny, zostanie wybrany plik w eksploratorze rozwiązań.

Narzędzia-> Opcje-> Projekty i rozwiązania-> Śledź aktywny element w Eksploratorze rozwiązań


33
To ustawienie powoduje, że węzły projektu i rozwiązania są stale rozbudowywane, gdy otwieram pliki. Po 15 minutach pracy nad większym projektem rozszerzyłem tak wiele węzłów, że eksplorator rozwiązań staje się nieodpowiedni. Rozwiązanie DPack jest lepsze IMO.
Karel Kral

@ karel-kral, dodałem odpowiedź, która używa makra do przełączania tego ustawienia, które działa na ten problem z rozszerzonym węzłem.
Martin Hollingsworth

Wymienione tutaj rozwiązania resharper lub dpack pozwalają obejść problem, o którym wspomina Martin i sprawiają, że ta odpowiedź nie jest preferowaną opcją, jeśli masz dostęp do któregokolwiek z pozostałych.
Rob Sedgwick

2
Dla VS2012 + @ Aaron odpowiedź jest najlepsza. Bez instalowania rzeczy Ctrl + [, s
BritishDeveloper

3
Powiedział, że nie chce śledzić pliku „Czasami” tylko przez cały czas. Odpowiedź Aarona Carlsona powinna zostać oznaczona jako poprawna.
RayLoveless

150

VS2012 dodał nowe polecenie o nazwie SolutionExplorer.SyncWithActiveDocument. Domyślnym skrótem dla C # jest Ctrl+ [,S

To polecenie spowoduje przejście do aktywnego pliku w Eksploratorze rozwiązań.

Wydaje się również, że musisz mieć wyłączoną opcję „Śledź aktywny element w Eksploratorze rozwiązań”.


4
Ogromny nadzór, że nie trafiło to do Visual Studio 6.0. Albo nawet wcześniej. WTF.
Almo,

3
Dzięki! W moim VS2013 , Ctrl+ [, Sbył domyślny zestaw sprawdzić plik i SolutionExplorer.SyncWithActiveDocumentnie został skonfigurowany.
hwcverwe

1
@krypru, używam VS2015 od jakiegoś czasu i nadal u mnie działa. Może nie jest przypisany do tego samego skrótu w Twoim środowisku?
Aaron Carlson

2
Do Twojej wiadomości, nie musisz pamiętać klawisza skrótu: Eksplorator rozwiązań (jestem w VS 2015) ma ikonę u góry (podwójne strzałki), która wykonuje „Synchronizuj z aktywnym dokumentem”.
ToolmakerSteve

2
VS 2017 dodał mapowanie klawiatury „ReSharper” w menu Narzędzia -> Opcje -> Środowisko -> Klawiatura. To odwzorowuje wbudowaną funkcjonalność VS na równoważny skrót ReSharper. Po ustawieniu możesz użyć skrótu Shift+ Alt+ L.
Andacious,

121

Shift+ Alt+ Lznajdzie bieżący plik w Eksploratorze rozwiązań w programie Visual Studio 2008+ z zainstalowanym programem ReSharper.


4
kiedy śledzisz, nie potrzebujesz tego skrótu.
Davut Gürbüz

5
To jest polecenie Przekształcania. Działa dla mnie z Visual Studio 2010 z zainstalowanym ReSharper.
Radim Cernej

+1; @ DavutGürbüz Czasami jest to potrzebne, aby ponownie uruchomić program Visual Studio 2012 i rozpocząć automatyczne śledzenie. Co jakiś czas (pomimo zaznaczenia pola wyboru „… Śledź aktywne…”, program Visual Studio 2012 przestaje śledzić. Ten skrót ReSharper włączy to ponownie bez konieczności ponownego uruchamiania programu Visual Studio.
Jeroen Wiert Pluimers

@JeroenWiertPluimers Widzę. Używałem rozszerzenia DPack. Jest bardzo lekki i łatwy w użyciu. Po prostu kliknij prawym przyciskiem myszy kartę pliku i wybierz Lokalizuj w Eksploratorze rozwiązań. Gorąco polecam. Działa we wszystkich wersjach VS. ReSharper jest również dobry, ale nie wolimy. Ponieważ nie używamy większości jego funkcji. To sprawia, że ​​VS jest cięższy. Śledzenie powoduje bałagan w eksploratorze rozwiązań. DPack jest najlepszy. stackoverflow.com/a/4747759/413032
Davut Gürbüz

3
Śledzenie nie musi być włączone, aby Shift + Alt + L działało. Przynajmniej nie w VS 2010, którego używam.
Tor Haugen

36

Uważam, że opcja utworu jest trochę denerwująca.

Wolę używać DPack . Zawiera operację „Lokalizuj w Eksploratorze rozwiązań” oraz wiele innych funkcji (niektóre są mniej wydajne w VS2010, jak ich przeglądarki) i jest bezpłatne .

Zauważ, że ReSharper ma również funkcję lokalizowania, która działa tak samo, jak DPack (w niektórych przypadkach lokalizacja DPack nie będzie działać, jeśli plik zostanie zwinięty za folderami), ale nie chcesz kupować ReSharper tylko dla tej funkcji .


Najbardziej bezproblemowe rozwiązanie („Track Active Item” jest irytujące, a ReSharper nie jest darmowy).
Ian Kemp,

@IanKemp, to kwestia gustu. IMO śledzenie jest denerwujące, ponieważ: 1. Czasami lubię, aby drzewo sln było skupione na określonym węźle. 2. po chwili drzewo sln zostanie całkowicie rozszerzone.
HuBeZa

28

Brian Schmitt ma świetny plik Locate File w Eksploratorze rozwiązań - wpis dotyczący makra programu Visual Studio . Makro jest niezwykle proste i szybkie. Zasadniczo przełącza ustawienie

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

tak, że bieżący plik zostanie wybrany w Eksploratorze rozwiązań, ale ponieważ nie jest pozostawiony, nie denerwuje się rozszerzaniem węzłów Eksploratora rozwiązań dla wszystkich plików, do których uzyskujesz dostęp.

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

Powiąż skrót klawiaturowy z tym niestandardowym makrem, aby skutecznie utworzyć wbudowaną funkcję programu Visual Studio.


To naprawdę działa w VS 2010 i jest łatwiejsze w konfiguracji niż myślisz (wskazówki dotyczące dodawania makra: helixoft.com/blog/archives/6 ).
user1068352

Link zamieszczony w pierwszej linii odpowiedzi jest uszkodzony. Czy możesz to naprawić?
Tyagi Akhilesh

@TyagiAkhilesh - zwróć uwagę, że ta odpowiedź (dodanie własnego makra) jest potrzebna tylko, jeśli nadal używasz VS 2010. Nowsze wersje mają wbudowane polecenie.
ToolmakerSteve

16

Jeśli masz ReSharper i chcesz dodać „Zlokalizuj w Eksploratorze rozwiązań” do menu kontekstowego karty:

  1. Przejdź do Narzędzia -> Dostosuj -> Polecenia -> Menu kontekstowe
  2. Wybierz "Inne menu kontekstowe | Łatwe okno dokumentu MDI".
  3. Kliknij „Dodaj polecenie”.
  4. Wybierz „Resharper” -> „ReSharper_LocateInSolutionOrAssemblyExplorer” (w VS2019 nazwa kategorii została zmieniona na „Rozszerzenia”)
  5. „OK” -> „Zamknij”

Teraz, gdy kliknij prawym przyciskiem myszy dowolną kartę, a zobaczysz nową opcję: Zlokalizuj w Eksploratorze rozwiązań.

AKTUALIZACJA:

Zgodnie z komentarzem @ jeremy-paskali, możesz ustawić skrót klawiaturowy dla tego polecenia:

  1. Przejdź do Narzędzia -> Dostosuj -> „Klawiatura ...”
  2. Wyszukaj „ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer” w polu „Pokaż polecenia zawierające” i wybierz je.
  3. Przejrzyj aktualnie przypisane skróty na liście rozwijanej poniżej.
  4. W razie potrzeby wprowadź zmiany.
  5. „OK” -> „Zamknij”

3
W programie Visual Studio 2015, jeśli następnie klikniesz przycisk „Klawiatura ...” u dołu okna „Dostosuj”, zostaniesz przeniesiony do okna dialogowego Opcje -> Środowisko -> Klawiatura. W tym oknie dialogowym możesz przejść do „ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer” i znaleźć lub zmienić skrót klawiaturowy do tego polecenia. Odkryłem, że mój VS2015 był ustawiony na „Shift + Alt + L” i działa!
Jeremy Paskali

Brzęczenie ponad dwa lata później, aby powiedzieć, że sztuczka z menu kontekstowym nadal działa z VS 2017 i R # 2018.2. Dzięki za to!
Michael Armes

Jeśli wypróbowanie Shift+Alt+Lnie pomogło w VS2019, to z pewnością zadziała.
gosr

11

Wiem, że jest trochę za późno, ale mam nadzieję, że pomoże to komuś innemu. Najlepszą opcją jest teraz zainstalowanie dodatku Microsoft Visual Studio o nazwie - Productivity Power Tools.

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

Wraz z nim przychodzi „Solution Navigator” (alternatywa dla Solution Explorer, z wieloma zaletami) - którego następnie można użyć do filtrowania plików, aby wyświetlić tylko „Open”. Możesz nawet filtrować pliki, aby wyświetlić „Edytowane” i „Niezapisane”.


Używam VS 2012 i elektronarzędzi. Nigdzie nie widzę Nawigatora rozwiązań. Czy chciałbyś rozwinąć temat? Na przykład powiedz, gdzie dokładnie znajduje się nawigator rozwiązań.
znak

Edytowano. Microsoft planował to zrobić - ale ostatecznie dokonał migracji tylko części. Byłem rozczarowany, że to również pominęli.
przyjaciel

10

Visual Studio 2012 ma nowy skrót Ctrl [, S. Tak, musisz wpisać, Ctrl [a następnie zwolnić, a następnie natychmiast wpisać S(lub kliknąć małą ikonę synchronizacji u góry eksplorowanego rozwiązania). Zsynchronizuje się z elementem.

Oczywiście możesz zmienić skrót. Myślę, że spróbuję Alt+Lzlokalizować.

Jeśli chcesz zmienić skrót, jego nazwa polecenia pod Options\Environment\Keyboardto SolutionExplorer.SyncWithActiveDocument.

Zwykle jest to bardziej przydatne niż zawsze śledzenie, które w starszych wersjach zawsze było katastrofą, ponieważ śledziłoby 100 elementów z rzędu, a następnie przeskakiwał po całym miejscu ...


Świetny !!! W moim VS2012 klawisze kombinacji są Ctrl+', s. Więc musisz zmienić [cytat '. Mam nadzieję, że komuś to pomoże.
ferpega

3
”lub kliknij małą ikonę synchronizacji u góry okna Eksploruj rozwiązania.„ Według mnie najłatwiejszy sposób osiągnięcia tego w nowszych wersjach VS. Niezłe!
Andreas

Dzięki @mrt! Całkowicie to przemilczałem w tej odpowiedzi; ale uratowałeś mnie przed koniecznością wykonywania dziwnych czynności dostosowawczych (lub pamiętaj o niejasnym skrócie) ...! Ten przycisk powinien być zaznaczony wyraźniej w tej odpowiedzi :)
arichards

5

W przypadku, gdy chcesz śledzić tylko bieżący plik za pomocą skrótu klawiaturowego - działaniem jest „View.TrackActivityinSolutionExplorer” (przypisz klawisze tutaj -> Narzędzia - Opcje - Środowisko - Klawiatura)

Kredyt (komentarz Jamesa)

To zadziałało dla mnie


Zauważ, że powoduje to przełączenie opcji „Śledź aktywny element w Eksploratorze rozwiązań”. Jeśli nie chcesz zachować tej opcji (bo jest irytująca), musisz dwukrotnie wpisać przypisane klawisze skrótu: raz, aby ją włączyć (wyszukuje wybrany element), a następnie ponownie, aby wyłączyć opcję.
Richard,


0

Jeśli chcesz wybrać plik w eksploratorze rozwiązań na polecenie i nie chcesz niczego instalować, polecam to makro .

Przetestowałem to, ustawiając skrót na Alt + T i mogę potwierdzić, że działa z VS 2010.

Dziękuję Danowi Vanderboomowi za napisanie tego.


0

W programie Visual Studio 2010 można włączyć opcję „Śledź aktywny element w Eksploratorze rozwiązań”. Oznacza to, że za każdym razem, gdy przełączasz się między dokumentami, nowy dokument zostanie wybrany w Eksploratorze rozwiązań. Może to być irytujące, jeśli Twoje rozwiązanie ma wiele folderów, ponieważ podczas przenoszenia plików w rozwiązaniu wszystkie foldery pozostaną otwarte.

W programie Visual Studio 2012 wprowadzono nową funkcję „Synchronizuj z aktywnym dokumentem”. Trzy to przycisk w górnej części Eksploratora rozwiązań lub możesz użyć skrótu Ctrl + [, S.

zrzut ekranu synchronizacji z przyciskiem aktywnego dokumentu


Czy nie zostało to już odpowiednio uwzględnione w istniejących odpowiedziach sprzed lat?
ToolmakerSteve

0

W przypadku programu Visual Studio 2017 używającego francuskiej klawiatury AZERTY polecenie jest takie samo, jak podane przez Aarona Carlsona, ale skrót klawiaturowy jest inny.

Skrót klawiaturowy AZERTY umożliwiający przejście do aktywnego pliku dla języka C # to Ctrl+ ), Ctrl+S

Sprawdziłem, że skrót nie zmienił się dla użytkowników QWERTY w VS2017 na tej stronie http://visualstudioshortcuts.com/2017/

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.