Seleção múltipla no Visual Studio?

87

Existe uma maneira de selecionar vários textos não adjacentes (totalmente separados) no VS? Posso fazer isso no MS Word, selecionando os textos separadamente, segurando o botão Ctrl, assim:

insira a descrição da imagem aqui

Minha versão é 11.

Edit: Eu não estou falando sobre Alt+Selectseleção de bloco. Também adoraria ver se existe uma técnica no Notepad ++.

Nawfal
fonte
1
Você está perguntando sobre o Visual Studio 2012 ou o Notepad ++?
Oded
@Oded Achei que era óbvio que a pergunta era sobre o VS (também incluído no título). O problema com o Notepad ++ era uma pergunta bônus.
nawfal
2
Pelo que eu sei, isso também não é possível.
Oded
Dependendo do que você deseja fazer com a seleção, você pode conseguir o resultado final com uma pesquisa regex / string.
MA

Respostas:

88

A edição de vários cursores tem suporte nativo no Visual Studio a partir da versão 2017, atualização 8. O seguinte é um trecho da documentação :

  • Ctrl+ Alt+ clique: Adicionar um acento circunflexo secundário
  • Ctrl+ Alt+ clique duplo: Adicionar uma seleção de palavra secundária
  • Ctrl+ Alt+ clicar + arrastar: Adicionar uma seleção secundária
  • Shift+ Alt+ .: Adicionar o próximo texto correspondente como uma seleção
  • Shift+ Alt+ ;: Adicionar todo o texto correspondente como seleções
  • Shift+ Alt+ ,: Remove a última ocorrência selecionada
  • Shift+ Alt+ /: Pula a próxima ocorrência correspondente
  • Alt + clique: Adicionar uma caixa de seleção
  • Esc ou clique em: Limpar todas as seleções

Alguns desses comandos também estão disponíveis no Editmenu:

Menu Multiple Carets

Gian Marco
fonte
1
Não vejo essas opções usando 2017 versão 15.9.3
Urasquirrel
Parece que no 15.9.3 os comandos do menu são apenas os dois primeiros.
Gian Marco
2
Link atualizado: docs.microsoft.com/en-us/visualstudio/ide/…
brownmagik352
2
Eu me pergunto se eles farão um suporte multi-caret adequado como o JetBrains já faz há anos. Tente fazer alguns circunflexos, selecione uma palavra e, em seguida, copie e cole-a. O VS cola double (ou seja, cola toda a seleção feita com os dois circunflexos por cada circunflexo. Não consigo imaginar quando isso seria um comportamento desejável. Eles deveriam colar apenas uma vez. Além disso, JetBrains tem o atalho CTRL + CTRL, que permite adicionar acentos circunflexos ao pressionar as setas para baixo ou para cima (indefinidamente, enquanto CTRL é pressionado). É muito mais produtivo do que a implementação do VS neste momento.
obe
@obe ou como sublime. A forma como é suportado atualmente não me serve de nada.
shashwat
54

Há uma nova extensão para Visual Studio 2017 chamada SelectNextOccurrence que é gratuita e de código aberto.

Esta extensão permite selecionar as próximas ocorrências de um texto selecionado para edição.

Visa replicar o comando Ctrl + D do Sublime Text para uma codificação mais rápida.

Características:

  • Selecione a próxima ocorrência da seleção atual.
  • Pular ocorrência
  • Desfazer ocorrência
  • Adicionar acento circunflexo acima / abaixo
  • Use vários circunflexos para editar (-clique Altpara adicionar circunflexo)

Comandos do Visual Studio:

  • SelectNextOccurrence.SelectNextOccurrenceestá vinculado a Ctrl+ Dpor padrão.
  • SelectNextOccurrence.SkipOccurrencenão está vinculado por padrão. (Recomendado Ctrl+ K, Ctrl+ D)
  • SelectNextOccurrence.UndoOccurrencenão é vinculado por padrão. (Recomendado Ctrl+ U)
  • SelectNextOccurrence.AddCaretAbovenão está vinculado por padrão. (Recomendado Ctrl+ Alt+ Up)
  • SelectNextOccurrence.AddCaretBelownão está vinculado por padrão. (Recomendado Ctrl+ Alt+ Down)

Selecione as opções da próxima ocorrência

https://marketplace.visualstudio.com/items?itemName=thomaswelen.SelectNextOccurrence

https://github.com/2mas/SelectNextOccurrence

Drew Noakes
fonte
1
Perfeito! É esse. Seleção múltipla e cursor funcionam muito bem. Testado com VS Community 2017.
Dave
1
@Dave sim, essa extensão é ótima. Considere dar uma boa crítica e / ou estrelar o projeto GitHub se você achar que é útil.
Drew Noakes em
Obrigado por encontrar esta extensão! O MixEdit estava funcionando, mas não estava otimizado para o VS2017 e aquele popup de trialware era antiprodutivo.
Bill N.
Não funcionou para mim. bem, não sei o que esperava da senhora.
Bersan
Ótima solução, só para observar que também tive que remover as combinações de teclas padrão, Edit.Duplicatepois elas ainda estavam sendo respeitadas, mesmo quando adicionadas Ctrl+Dà combinação de SelectNextOccurrence. Atalhos padrão do VS 2019: docs.microsoft.com/en-us/visualstudio/ide/…
Brandon Franklin
30

No Visual Studio Shift+Alt+. / Shift+Alt+,

  • Shift+Alt+. - coincidir com o cursor;
  • Shift+Alt+, - remover acento circunflexo anterior;

Mesma função do VSCode Ctrl+D.

Muito mais configuração Tool - Options - Environment - keyboard. Avançar na Show commands containingentrada Edit..

Além disso, pode usar o esquema do teclado Visual Studio Code. Disponível para Visual Studio 2017

Para concluir, bom link Visual Studio Todos os atalhos de teclado

Арсений Савин
fonte
1
Obrigado pela sua resposta tipo internauta.
Urasquirrel
3
Ótima resposta. Só precisávamos dos comandos. Não sei por que todo mundo deu respostas tão longas, lol. obrigado
Javi
22

A extensão MixEdit para Visual Studio permite fazer multiediting da maneira que você está descrevendo. Ele suporta vários acentos circunflexos e várias seleções.

robertojj89
fonte
8
Se você está procurando algo como Texto Sublime, é isso!
Kenial
2
Caso alguém esteja se perguntando, a maneira de realizar a seleção múltipla no MixEdit é clicando duas vezes nas palavras após pressionar Alt. O mesmo que no MS Word, exceto que está Altaqui em vez de Ctrl. O MixEdit também possui muitas outras opções úteis de seleção múltipla. Lembre-se de que é gratuito apenas para avaliação!
nawfal
2
Não consigo mais comprar uma licença MixEdit. Verifique o site . Alguma ideia de como posso licenciá-lo de alguma forma e me livrar do pop-up irritante?
vullnetyy
3
esta extensão não é gratuita !!
Diogo Cid
6
existem alternativas gratuitas ou com capacidade de compra para que você não precise receber aquele alerta irritante? ou capacidade de removê-lo do MixEdit se não houver maneira de comprá-lo
Sonic Soul
13

No Visual Studio 2019, você pode colocar o cursor no lugar certo e, em seguida, pressionar SHIFT ALT e. (ponto). Isso selecionará a próxima ocorrência.

Trausti Thor
fonte
7

Apenas para observar,

MixEdit não é totalmente gratuito.

"Este software não está licenciado para nenhum usuário e está sendo executado em modo de avaliação. MIXEDIT pode ser baixado e avaliado gratuitamente, no entanto, uma licença deve ser adquirida para uso contínuo."

Após a instalação e uso, um pop-up redireciona para a página da web - semelhante à mensagem pop-up de software não licenciado da SublimeText.

SM23
fonte
1
e agora você não consegue nem comprar. ele apenas exibe a caixa de alerta pedindo licença
Sonic Soul
6

Para código do Visual Studio

Cheguei a esta questão porque estava procurando uma maneira de selecionar várias palavras com o clique do mouse no VS Code, o que deveria ser feito usando alt+click, mas esse atalho de teclado não estava funcionando (acho que é algo relacionado ao meu sistema operacional, Ubuntu ).

Para quem procura algo semelhante, experimente alterar a chave para ctrl+click.

Vá para Selection>Switch to Ctrl+Click for Multi Cursor

Jpenna
fonte
Tem certeza de que não está falando sobre o VS Code?
nawfal
Sim, estou ... Devo excluí-lo ou apenas intitular como "para código vs"? Eu estava procurando um código quando cheguei aqui
jpenna
2
não há necessidade de excluir, será útil para outros. Apenas mencione isso em resposta.
nawfal
6

Atualização: a extensão MixEdit agora oferece essa capacidade.

A extensão MultiEdit para VS permite algo semelhante (não suporta várias seleções até o momento, apenas vários circunflexos)

Vá ao Hanselman para obter um gif animado rápido disso em ação: Edição Simultânea para Visual Studio com a extensão gratuita MultiEdit

Mrchief
fonte
1
Esta extensão não oferece suporte a várias seleções, conforme solicitado na pergunta original. A extensão MixEdit sim.
mcw
2
MixEdit não existia quando o OP postou sua pergunta. Eu respondi com o melhor de meu conhecimento.
Mrchief,
5

Não consegui encontrar nada embutido, o que é triste. Existe esta funcionalidade no CodeRush entanto, .

Com o Notepad ++, esse recurso vem integrado. Basta ativar a edição múltipla em

Configuração> Preferências> Edição> Configurações de edição múltipla

Mas não é tão intuitivo quanto o MS Word, que permite selecionar duas palavras clicando duas vezes sobre elas (após Ctrl, é claro).

Nawfal
fonte
4

no visual de 2019, abra as opções para mostrar todos insira a descrição da imagem aqui

e seleção múltipla: mantenha Ctrl + Alte clique na posição desejada ou mantenha a Shift + Altposição de clique para selecionar várias linhas múltiplas do início ao fim da linha clicada

Quan Tran Hai
fonte
0

Agora, o plugin é truques Multi Line. Os botões de fim e início quebraram a seleção.

franca
fonte
como instalar no visual studio 2015?
Diogo Cid