Como faço para obter um cursor em cada linha no vscode

101

Estou tentando usar a funcionalidade de vários cursores do vscode em um arquivo grande (ish). o arquivo é muito grande para selecionar cada linha individualmente com ctrl-alt-up ou down. Em sublime-text, eu selecionaria tudo e pressionaria ctrl-shift-l. Existe algo semelhante no vscode. Eu tentei usar uma pesquisa regex para ^, mas isso me deu um erro informando "Expressão corresponde a tudo".

ladrão
fonte

Respostas:

188

O comando Seleção / Adicionar Cursores às Extremidades da Linha altshifticolocará um cursor em cada linha na seleção atual. (Para uso mac optshifti)

Dica: Você pode abrir a folha de referência de atalhos de teclado com ctrlk, ctrls(como em, esses dois combos de teclado em sequência). (Para utilização mac cmdk, cmds)

ZachB
fonte
2
Quando experimentei, o cursor foi para o final de cada linha. Eu estava procurando o início de cada linha. Eu vi uma extensão que permitirá um atalho de teclado para "cursor no início da linha", mas gostaria de saber se é possível fazer isso no Vanilla VS Code?
Tiffany
17
@Tiffany apertou a hometecla depois.
ZachB
3
Isso deveria ser óbvio para mim. Mas obrigado mesmo assim!
Tiffany
Apenas para referência, para desenhar seus cursores sem primeiro fazer uma seleção, use alt + shift + drag selection. Aqueles que estão familiarizados com o Sublime Text sabem disso usando a seleção alt + arrastar.
palmi
homepara Mac é fn+left
eibersji
21

Segure Alt+ Shifte selecione o bloco. Em seguida, pressione o botão Endou Right. Você obtém linhas individuais selecionadas.

Eu uso a versão VSCode 1.5.3 no Windows.

Borys Lebeda
fonte
4
Esta é uma boa solução, mas uma das poucas coisas que sinto falta do texto sublime, o antigo ctrl + shift + Lpara adicionar cursores a todas as linhas selecionadas
Des Horsley
10
@DesHorsley, acho que você está procurando alt+shift+I.
ZachB de
3
@ZachB, sua lenda. Obrigado!
Des Horsley
@ZachB. Por favor, dê uma resposta para que eu possa aceitá-la.
feihtthief de
Se você alterou sua tecla de cursor múltiplo para em ctrlcmdvez de alt, o atalho para isso é ctrl + shift + dragou cmd + shift + drag.
calças
6
  • Segure Alt+ Shift+i

  • Segure Home( fn+ ->Mac) para extrema direita ou Endpara extrema esquerda ( fn+ <-Mac)

insira a descrição da imagem aqui

snr
fonte
Essa resposta me economiza muito tempo. BTW, como você grava esse gif?
Li Jinyao
No mac eu estava usando gifoxpara esses gifs.
snr
5

Este recurso é realmente chamado split selection into linesem muitos editores.

  • Sublime Text usa o atalho de teclado padrão, CTRLSHIFT L
  • VSCode usa ALTSHIFTI
  • Para Atom você realmente precisa editar seu mapa de teclado para algo assim
'.platform-win32 .editor, .platform-linux .editor':
  'ctrl-shift-L': 'editor: dividir seleções em linhas' 
nikhilweee
fonte
1

Instale a extensão Sublime Commands .

[Comandos Sublimes] Adiciona comandos de Texto Sublime ao Código VS: Transpor, Expandir Seleção para Linha, Dividir em Linhas , Unir Linhas.

(Não se esqueça de adicionar os atalhos de teclado da página de detalhes de extensões para o seu keybindings.json)


O VS Code já não tem um comando "dividir em linhas"?

Sim , sim. No entanto, é diferente do Sublime.

No VS Code, quando você divide em linhas, sua seleção é desmarcada e um cursor aparece no final de cada linha que foi selecionada (exceto para a última linha onde o cursor aparece no final da seleção).

No Sublime, quando você divide em linhas, um cursor aparece no final de cada linha (com a mesma exceção do Código VS) e a seleção é dividida em cada linha e "dada" à mesma linha.

Bubba
fonte
Observe que o OP está perguntando como realizar a tarefa no vscode, pois eles já sabem como isso é feito no sublime
alamoot
0

Eu tenho o mesmo problema, estou acostumado a Alt + arrastar para fazer 'seleções de caixa' no Visual Studio, mas não funciona no código.

Parece ser impossível por enquanto fazer isso de forma diferente do que selecionando cada linha.

No entanto, os plug-ins devem ser suportados em breve, então provavelmente veremos um plug-in para isso se não for implementado diretamente pela Microsoft.

Dos fóruns de uso do visual studio:

Pretendemos oferecer suporte a plug-ins para Visual Studio Code. Obrigado pelo seu interesse e procure mais detalhes em nosso blog nas próximas semanas. http://blogs.msdn.com/b/vscode .

Para a visualização, estamos procurando exatamente esse tipo de feedback. Deixe vir.

Sean McBreen - membro da equipe do VS Code

seg-s
fonte