Como localizo e substituo todas as ocorrências (em todos os arquivos) no Código do Visual Studio?


245

Não consigo descobrir como localizar e substituir todas as ocorrências de uma palavra em arquivos diferentes usando o Visual Studio Code versão 1.0.

Tenho a impressão de que isso deve ser possível, pois pressionar Ctrl + Shift + F permite simplesmente pesquisar em uma pasta, mas não tenho noção de como proceder a partir daqui.

Procurei em várias combinações de teclas https://code.visualstudio.com/Docs/customization/keybindings

Mas só descobri como substituir todas as ocorrências no arquivo aberto (Ctrl + h)

Toda a ajuda apreciada com gratidão, isso está me deixando louco.

Respostas:


363

Estou usando o Visual Studio Code 1.8, e esse recurso está disponível. Mas é um pouco complicado de entender no começo e (no momento da redação) os documentos não explicam claramente como usá-lo, então veja como funciona, passo a passo:

Chamar Substituir nos arquivos (no menu Editar ou com o atalho Ctrl+ Shift+ H)

Você verá uma entrada Localizar / Substituir padrão substituindo o painel de arquivos à esquerda:

insira a descrição da imagem aqui

Digite sua string de pesquisa e a string de substituição e pressione enter. Pode agitar por um segundo pesquisando todos os arquivos e depois mostrar as alterações propostas em todos os arquivos do seu projeto - mas observe que essas alterações ainda não foram feitas! Aqui está o que parece:

insira a descrição da imagem aqui

Agora você precisa fazer as alterações (e mesmo depois disso, você deve salvar os arquivos modificados .)

Você pode fazer essas alterações de várias maneiras:

1) Faça todas as alterações em todos os arquivos de uma só vez.

Clique no ícone substituir ao lado da sua cadeia de substituição (nota: você verá uma caixa de diálogo para confirmar esta ação em massa.)

insira a descrição da imagem aqui

2) Faça todas as alterações em um único arquivo de uma só vez.

Clique no ícone substituir ao lado do nome do arquivo (nota: o ícone só aparece quando você passa o mouse sobre a linha do nome do arquivo)

insira a descrição da imagem aqui

3) Faça uma única alteração em um único arquivo.

Clique no ícone substituir ao lado da alteração individual: (nota: o ícone só aparece quando você passa o mouse sobre a linha de alteração)

insira a descrição da imagem aqui

Finalmente, não esqueça de salvar!

Todos esses arquivos agora foram modificados no editor e ainda não foram salvos no disco.

Use Arquivo -> Salvar tudo (ou Ctrl+ Alt+ S)

Atualização: não tenho certeza de quando isso foi adicionado, mas se você clicar no botão "Substituir tudo" e ver esta caixa de diálogo, clicar em "Substituir" mudará e salvará todos os arquivos em um clique:

insira a descrição da imagem aqui


1
É possível salvar um 'substituir de pesquisa'? Costumo procurar 'class =' ​​e substituí-lo por 'className ='
Rune Jeppesen

1
É possível pular a última etapa e fazer uma pesquisa silenciosa e substituir? Se estou fazendo uma pesquisa trivial e substituindo, não quero salvar cada arquivo individual.
precisa saber é

1
Não tenho certeza da resposta para nenhuma dessas perguntas. Mas @satJ, observe que Ctrl+Alt+Ssalva todos os arquivos modificados de uma só vez, por isso é bem rápido e fácil.
Jeff Ward

Porra, isso é perigoso, alterando todos os arquivos como padrão. Existe um comando para apenas encontrar / substituir em um único arquivo?
Alexander Mills

O padrão atual de salvar todos é Ctrl-k, seguido pela letra s. Ctrl-k, seguido de Ctrl + w fechará todas as janelas depois que os programas abrirem um monte deles.
Rebecca

25

Atualizar

A partir da versão 1.3 (junho de 2016), é possível pesquisar e substituir no Código do Visual Studio. Usando ctrl + shift + f, você pode pesquisar e substituir todas as ocorrências.

Parece que isso não é possível no momento (Versão 1.1.1 (abril de 2016))

"P: É possível pesquisar e substituir globalmente?

R: Esse recurso ainda não foi implementado, mas você pode esperar que ele venha no futuro! "

https://code.visualstudio.com/Docs/editor/codebasics

Isso também parece solicitado pela comunidade: https://github.com/Microsoft/vscode/issues/1690


Para pesquisar itens em uma pasta específica, basta adicionar o caminho da pasta no campo files to include. Você pode encontrar / substituir itens mesmo fora do espaço de trabalho. Search não pesquisa nos nomes dos arquivos, mas nos arquivos. (Alguém sabe como pesquisar o nome do arquivo fora do espaço de trabalho?)
JinSnow

22

Para substituir uma sequência em um único arquivo (aberto no momento): CTRL + H

Para substituir no nível do espaço de trabalho, use: CTRL + SHIFT + H


Nota: Você deve pressionar enter para que a pesquisa seja executada ao usar Ctrl + Shift + H.
Aaron Franke

19

Esta é a melhor maneira.

  1. Primeiro, coloque o cursor no membro e clique em F2.

  2. Em seguida, digite o novo nome e pressione a tecla Enter. Isso renomeará todas as ocorrências em todos os arquivos do seu projeto.

Isso é ideal para quando você deseja renomear em vários arquivos. Por exemplo, convém renomear uma função publicamente acessível em um serviço Angular e atualizar todos os lugares que o utilizam.

Para obter mais ferramentas excelentes, recomendo: https://johnpapa.net/refactoring-with-visual-studio-code/


e se eu quiser renomear ocorrências apenas no arquivo atual?
temirbek 8/01/19

@temirbek, eu tenho acompanhado este pedido por um tempo. Faz mais de 2 anos e ainda não foi implementado. github.com/Microsoft/vscode/issues/14836
DonDaniel

Oi, ele também renomeia as pastas relacionadas e importa?
Tamashi Kaizen 16/11/19

5

Na página Ligações de teclas de código do Visual Studio , a seção Referência de atalhos de teclado possui links para um PDF para cada sistema operacional principal. Depois de aberto, procure "substituir nos arquivos" ou qualquer outro atalho que você possa precisar.

Outra maneira é usar a Paleta de Comandos ( ctrl/cmd+ shift+ P), onde você pode digitar "substituir" para listar todos os comandos relacionados, incluindo o que você deseja:

Substitua em arquivos ctrl/cmd+ shift+H

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.