Como localizar um arquivo no Solution Explorer no Visual Studio 2010?

172

Eu tenho uma solução enorme com vários projetos. Às vezes, preciso navegar para um arquivo no Solution Explorer . Usando o recurso ' Navegar para ' do VS 2010, posso abrir qualquer arquivo por nome no Visual Studio 2010, mas também quero selecionar o arquivo no Gerenciador de Soluções ?

Amitabh
fonte
4
A pergunta era sobre o VS2010, mas caso alguém esteja visualizando o VS2013: Confira Ctrl-; para encontrar no Solution Explorer ou Ctrl-, para o recurso "Navigate To" do VS2012 / 13.
John
1
Para uma maneira nativa do VS 2012 e acima, confira a resposta de Aaron Carlson abaixo.
Derek Morrison

Respostas:

198

Há uma opção para rastrear o item ativo (aberto e exibido) no gerenciador de soluções. Se o arquivo estiver em exibição, o arquivo no Solution Explorer será selecionado.

Ferramentas-> Opções-> Projetos e Soluções-> Rastrear Item Ativo no Solution Explorer

Jeff Mercado
fonte
33
Essas configurações fazem com que os nós do projeto e da solução sejam constantemente expandidos à medida que abro arquivos. Após 15 minutos de trabalho em um projeto maior, eu tenho tantos nós expandidos que o Solution Explorer torna-se inadequado. A solução DPack é IMO melhor.
precisa
@ karel-kral, adicionei uma resposta que usa uma macro para alternar essa configuração que funciona em torno desse problema de nó expandido.
Martin Hollingsworth
as soluções de compartilhamento de dados ou dpack listadas aqui contornam o problema que Martin menciona e tornam essa resposta a opção preferida se você tiver alguma das outras disponíveis.
precisa saber é o seguinte
2
Para o VS2012 + @, a resposta de Aaron é a melhor. Não instalando coisas Ctrl + [, s
BritishDeveloper 02/11/15
3
Ele disse que só queria rastrear o arquivo "Às vezes", não o tempo todo. A resposta de Aaron Carlson deve ser marcada como a resposta correta.
RayLoveless #
150

O VS2012 adicionou um novo comando chamado SolutionExplorer.SyncWithActiveDocument. O atalho padrão para c # é Ctrl+ [,S

Este comando irá navegar para o arquivo ativo no Solution Explorer.

Além disso, parece que você precisa ter a opção "Rastrear item ativo no Solution Explorer" desativada.

Aaron Carlson
fonte
4
Supervisão maciça de que isso não foi feito no Visual Studio 6.0. Ou até mais cedo. WTF.
Almo 21/02
3
Obrigado! No meu VS2013 , Ctrl+ [, Sera o padrão definido para fazer o check-out do arquivo e SolutionExplorer.SyncWithActiveDocumentnão estava configurado.
precisa saber é o seguinte
1
@ krypru, estou usando o VS2015 há um tempo e ainda funciona para mim. Talvez não esteja mapeado para o mesmo atalho no seu ambiente?
Aaron Carlson
2
Para sua informação, não é necessário lembrar a tecla de atalho: O Solution Explorer (estou no VS 2015) possui um ícone na parte superior (setas duplas) que faz "Sincronizar com o documento ativo".
Home
2
O VS 2017 adicionou um mapeamento de teclado "ReSharper" em Ferramentas -> Opções -> Ambiente -> Teclado. Isso mapeia a funcionalidade integrada do VS para o atalho equivalente do ReSharper. Depois de definir isso, você pode usar o atalho Shift+ Alt+ L.
Andacious
121

ShiftO + Alt+ Lencontrará o arquivo atual no Gerenciador de Soluções no Visual Studio 2008+ com o ReSharper instalado.

Rob Willis
fonte
4
quando você acompanha, não precisa desse atalho.
Davut Gürbüz 12/04
5
É um comando Reshaper. Funciona para mim com o Visual Studio 2010 com o ReSharper instalado.
Radim Cernej
+1; @ DavutGürbüz Às vezes, você precisa disso para lançar o Visual Studio 2012 no início do rastreamento automático novamente. De vez em quando (apesar da opção "... Active Track ..." que está sendo verificado, Visual Studio 2012 pára de rastreamento Este atalho ReSharper irá reativar isso sem ter que reiniciar o Visual Studio..
Jeroen Wiert Pluimers
@JeroenWiertPluimers I see. Eu tenho usado a extensão DPack. É muito leve e fácil de usar. Você apenas clica com o botão direito na guia arquivo e escolhe Localizar no Solution Explorer. Eu recomendo fortemente. Ele funciona em todas as versões do VS. ReSharper também é bom, mas não preferimos. Porque não usamos a maioria dos seus recursos. Torna o VS mais pesado. O rastreamento torna o Solution Explorer confuso. DPack é o melhor. stackoverflow.com/a/4747759/413032
Davut Gürbüz
3
O rastreamento não precisa estar ativado para que Shift + Alt + L funcione. Pelo menos não no VS 2010, que estou usando.
Tor Haugen
36

Achei a opção de faixa um pouco chata.

Eu prefiro usar o DPack . Ele contém a operação "Localize no Solution Explorer", além de muitos outros recursos (alguns são menos poderosos no VS2010, como seus navegadores), e é gratuito .

Observe que o ReSharper também possui o recurso de localização que funciona melhor que o do DPack (em alguns casos, a localização do DPack não funcionará se o arquivo estiver recolhido atrás de pastas), mas você não deseja comprar o ReSharper apenas para esse recurso .

HuBeZa
fonte
A solução mais fácil de resolver ("Rastrear item ativo" é irritante e o ReSharper não é gratuito).
Ian Kemp
@IanKemp, é uma questão de gosto. Na IMO, o rastreamento é irritante porque: 1. às vezes, gosto da árvore sln para manter o foco em um nó específico. 2. Depois de um tempo, a árvore sln fica completamente expandida.
HuBeZa
28

Brian Schmitt tem uma ótima postagem Localizar arquivo no Solution Explorer - Visual Studio Macro post para isso. A macro é extremamente simples e rápida. Basicamente, alterna a configuração

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

para que o arquivo atual seja selecionado no Solution Explorer, mas, como não é deixado, você não fica irritado com os nós do Solution Explorer sendo expandidos para todos os arquivos que você acessa.

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

Vincule um atalho de teclado a essa macro personalizada para criar efetivamente o que deve ser um recurso interno do Visual Studio.

Martin Hollingsworth
fonte
Isso realmente funciona no VS 2010 e é mais fácil de configurar do que você pensa (dicas para adicionar macro: helixoft.com/blog/archives/6 ).
user1068352
O link postado na primeira linha de resposta está quebrado. Você pode consertar isso por favor?
Tyagi Akhilesh
@TyagiAkhilesh - nota que esta resposta (adicionando seu próprio macro) só é necessária se você ainda está usando o VS 2010. As versões mais recentes têm um comando embutido.
ToolmakerSteve
16

Se você possui o ReSharper e deseja adicionar "Localizar no Solution Explorer" ao menu de contexto da guia:

  1. Vá para Ferramentas -> Personalizar -> Comandos -> Menu de contexto
  2. Selecione "Outros menus de contexto | Janela do documento MDI fácil".
  3. Clique em "Adicionar comando".
  4. Escolha "Resharper" -> "ReSharper_LocateInSolutionOrAssemblyExplorer" (no VS2019, o nome da categoria foi alterado para "Extensões")
  5. "OK" -> "Fechar"

Agora, ao clicar com o botão direito do mouse em qualquer guia, você verá uma nova opção: Localizar no Solution Explorer.

ATUALIZAR:

Após o comentário de @ jeremy-paskali, você pode definir um atalho de teclado para este comando:

  1. Vá para Ferramentas -> Personalizar -> "Teclado ..."
  2. Procure por "ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer" no campo "Mostrar comandos que contêm" e selecione-o.
  3. Reveja os atalhos atualmente atribuídos no menu suspenso abaixo.
  4. Faça as alterações, se necessário.
  5. "OK" -> "Fechar"
Shay
fonte
3
No Visual Studio 2015, se você clicar no botão "Teclado ..." na parte inferior da janela "Personalizar", será direcionado para a caixa de diálogo Opções -> Ambiente -> Teclado. Nesta caixa de diálogo, você pode navegar para "ReSharper.ReSharper_LocateInSolutionOrAssemblyExplorer" e localizar ou alterar o atalho do teclado para este comando. Descobri que meu VS2015 estava definido como "Shift + Alt + L" e funciona!
Jeremy Paskali 23/03
Faz mais de dois anos para dizer que o truque do menu de contexto ainda funciona com o VS 2017 e o R # 2018.2. Obrigado por isso!
Michael Armes
Se experimentar Shift+Alt+Lnão funcionou para você no VS2019, isso certamente funciona.
gosr 01/04
11

Sei que é tarde demais, mas espero que ajude outra pessoa. A melhor opção agora é instalar o complemento do Microsoft Visual Studio chamado - Productivity Power Tools.

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

Com isso, vem o "Solution Navigator" (alternativa ao Solution Explorer, com muitos benefícios) - que você pode usar para filtrar os arquivos para mostrar apenas "Open". Você pode até filtrar arquivos para mostrar "Editado" e "Não salvo".

amigo
fonte
Estou usando o VS 2012 e as Ferramentas elétricas. Não vejo um Solution Navigator em lugar nenhum. Você gostaria de elaborar sobre o assunto? Como dizer onde exatamente o Solution Navigator é encontrado.
marca
Editado. A Microsoft planejava fazer isso - mas acabou migrando apenas partes dele. Fiquei decepcionado que eles deixaram de fora este também.
amigo
10

Visual Studio 2012 tem um novo atalho Ctrl [, S. Sim, você deve digitar Ctrl [, soltar e digitar imediatamente S(ou clique no pequeno ícone de sincronização na parte superior da Solução explorada). Ele será sincronizado com o item.

Claro que você pode alterar o atalho. Eu acho que vou tentar Alt+Llocalizar.

Se você deseja alterar o atalho, é o nome do comando em Options\Environment\Keyboardis SolutionExplorer.SyncWithActiveDocument.

Geralmente, isso é mais útil do que sempre rastrear, o que nas versões mais antigas sempre foi um desastre, pois rastreava 100 itens seguidos e pulava por todo o lugar ...

Simon_Weaver
fonte
Ótimo !!! No meu VS2012, as teclas de combinação são Ctrl+', s. Então você deve mudar [com citação '. Espero que isso ajude alguém.
ferpega
3
"ou clique no pequeno ícone de sincronização na parte superior do Solution Explore" Para mim, a maneira mais fácil de fazer isso nas versões mais recentes do VS. Agradável!
Andreas
Obrigado @mrt! Eu totalmente encobri isso nesta resposta; mas você me salvou de ter que executar algumas etapas estranhas de personalização (ou lembre-se de um atalho obscuro) ...! Esse botão deve ser chamado mais explicitamente nesta resposta :)
arichards
5

Caso você queira rastrear apenas o arquivo atual por meio de um atalho de teclado - a atividade é "View.TrackActivityinSolutionExplorer" (atribua as teclas aqui -> Ferramentas - Opções - Ambiente - Teclado)

Crédito (comentário de James)

Isso funcionou para mim

pingo
fonte
Observe que isso alterna a opção "Rastrear item ativo no Solution Explorer". Se você não quiser manter essa opção (porque é irritante), digite as teclas de atalho atribuídas duas vezes: uma vez para ativá-la (encontra o item selecionado) e depois novamente para desativar a opção.
Richard
0

Se você deseja selecionar o arquivo no Solution Explorer no comando e não deseja instalar nada, recomendo esta macro .

Eu testei, definindo o atalho para Alt + T e posso confirmar que ele funciona com o VS 2010.

Obrigado a Dan Vanderboom por escrevê-lo.

Robert Whitley
fonte
0

No Visual Studio 2010, você pode ativar a opção "Rastrear item ativo no Gerenciador de Soluções". Isso significa que sempre que você alterna entre documentos, o novo documento é selecionado no Gerenciador de Soluções. Isso pode ser irritante se a sua solução tiver muitas pastas, pois conforme você move os arquivos na sua solução, todas as pastas ficam abertas.

O Visual Studio 2012 introduziu o novo recurso "Sincronizar com documento ativo". Três é um botão na parte superior do Solution Explorer, ou você pode usar o atalho Ctrl + [, S.

captura de tela da sincronização com o botão do documento ativo

thelem
fonte
Isso já não foi coberto adequadamente pelas respostas existentes de anos atrás?
Home
0

Para o Visual Studio 2017 usando um teclado francês AZERTY, o comando é o mesmo que Aaron Carlson, mas o atalho de teclado é diferente.

O atalho de teclado AZERTY para navegar para o arquivo ativo para c # é Ctrl+ ), Ctrl+S

Verifiquei se o atalho não havia sido alterado para usuários QWERTY no VS2017 nesta página http://visualstudioshortcuts.com/2017/

PhilG
fonte