Qual é o equivalente para ALT + UP / DOWN (mover linha) do eclipse no Visual Studio?

104

No Eclipse, selecionar uma linha e pressionar Alt+ / moverá a linha para cima e para baixo, uma maneira rápida de evitar copiar e colar. Existe um equivalente no Visual Studio?

Roberto
fonte
3
Eu queria saber como fazer isso em eclipse agora que sei.
Dan de
2
Observe que no VS 2013+ este atalho agora é compatível
benscabbia

Respostas:

141

No Visual Studio 2013 e posterior, essa funcionalidade está integrada. ALT + UP / DOWN moverá uma linha para cima ou para baixo.

Se você precisar dessa funcionalidade no VS2012 (também funciona com o VS2010), dê uma olhada na extensão MoveLine Visual Studio ou no conjunto de ferramentas de produtividade .

Kevin Aenmey
fonte
35
Inacreditável que você precise de um plugin para isso
void.pointer
e quanto ao elemento filho quando você seleciona uma tag? por exemplo, selecionei uma tag div e desejo mover todos os elementos filho para cima, em vez de selecionar com o mouse.
Arash,
14
Se você quiser religá-lo, o nome do comando é "Edit.MoveSelectedLinesUp", em Ferramentas> Opções> Ambiente> Teclado.
Joan Charmant
No Ubuntu 16.04 funcionou fora da caixa! Muito obrigado!
James Freitas,
1
@Shimmy você realmente tem uma opção melhor com as teclas Ctrl + Shift + Alt + Direção. Você pode movê-lo para qualquer lugar.
scottheckel
79

O Ctrl+ Shift+ Alt+ / / / do ReSharper é ainda mais poderoso - quando no início da linha, ele moverá toda a linha, mas também pode ser usado para mover métodos inteiros, alterar a ordem dos parâmetros, etc.

Omer Raviv
fonte
4
Também não funciona se R # achar que a linha atual é parte de uma construção maior. Por exemplo, tente mover uma usinginstrução do topo de um arquivo algumas linhas para baixo para estar dentro da namespacedeclaração. Quando a linha que contém o usingestá na linha abaixo da namespacedeclaração, R # irá combiná-los e a próxima chamada para <kbd> Ctrl </kbd> + <kbd> Shift </kbd> + <kbd> Alt </kbd> + <kbd> & darr; </kbd> moverá tanto namespacea usinglinha como a até o final do namespacebloco de código anterior .
Carl G
1
Também não parece funcionar para mover linhas através dos limites do método.
Robin Coe de
5

Isso agora está funcionando fora da caixa com o Visual Studio 2013, da mesma forma que no Eclipse.

Drealmer
fonte
2
Não exatamente igual, não corrige o recuo
Sentinela
@Sentry ctrl + k, D
John Demetriou
5

Para mim, no Visual Studio 2019, vem fechado por padrão.

Para abrir:

Ferramentas -> Opções -> Teclado e selecione Edit.MoveSelectedLinesUp , clique em "Pressione as teclas de atalho" e pressione Alt + Up (ou o que você quiser). E o outro é Edit.MoveSelectedLinesDown , clique na entrada "Pressione as teclas de atalho" e pressione Alt + Down (ou o que você quiser).

Umut Sun
fonte
1
Também descobri que eles não tinham ligação de tecla padrão no VS 2019
Andrew W
3

No Visual Studio 2013 e posterior, você pode mover as linhas para cima e para baixo usando Alt+ / Alt+ . Infelizmente, isso não ajustará o recuo se você mover entre os blocos, a partir de hoje apenas ReSharper (e todos os outros IDEs da Jetbrains incluindo Rider) podem ajudá-lo com isso.

Para mover blocos inteiros de código, você pode mover o cursor para o seu cabeçalho e pressionar Ctrl+ mduas vezes rapidamente para recolhê-lo e, em seguida, usar o comando acima para movê-lo.

Aqui está uma referência interessante a todos os atalhos de teclado padrão em diferentes versões do Visual Studio.

Andreas Bergström
fonte
1

Com a extensão VSCommands, você tem exatamente esse atalho de teclado. E, a propósito, uma barra de ferramentas de notificação Stack OVerflow :)

eFloh
fonte