Como duplico uma linha ou seleção no Código do Visual Studio?

733

Usando o Visual Studio Code da Microsoft, como duplico uma linha de código e a movo para cima e para baixo? (Semelhante ao comportamento + cmd+ do Sublime )shiftd

É um recurso que uso constantemente e estou lutando com o Visual Studio Code sem ele.

Chris
fonte
Isso responde sua pergunta? Linha duplicada no Visual Studio Code
Arash.Zandi

Respostas:

1328

Os comandos que você está procurando são editor.action.copyLinesDownActione editor.action.copyLinesUpAction.

Você pode ver as combinações de teclas associadas escolhendo: Arquivo> Preferências> Atalhos do teclado

Janelas:

Shift+ Alt+ Downe Shift+ Alt+Up

Mac:

Shift+ Option+ Downe Shift+OptionUp

Linux:

Ctrl+ Shift+ Alt+ Downe Ctrl+ Shift+ Alt+Up

(Pode ser necessário usar o numpad Downe Uppara Linux)

Além disso, comandos editor.action.moveLinesUpActione editor.action.moveLinesDownActionsão os que movem as linhas e estão vinculados a Alt+ Downe Alt+ Upno Windows e Mac e Ctrl+ Downe Ctrl+ Upno Linux.

Benjamin Pasero
fonte
59
E parece Alt+Upou Alt+Downmove uma linha existente para cima e para baixo. Agradável
Chris
2
Vale ressaltar que as ações copyLines não existem no Visual Studio completo, apenas no Código do Visual Studio.
precisa saber é o seguinte
4
Ferramentas | Opções | Ambiente | Teclado no VS2015
Mike Keskinov 09/09/16
15
Você sabe como "duplicar a seleção"? Não consegui encontrar o comando apropriado :(
nZeus 11/11
25
No Linux, ctrl+shift+alt+down/upfunciona apenas para as teclas de seta do teclado numérico.
Jack Steam
174

Você pode encontrar atalhos de teclado em

Arquivo> Preferências> Atalhos do teclado

Os atalhos de teclado padrão são,

Ação Copiar linhas para baixo : shift+ alt+down

Ação Copiar linhas de alinhamento : shift+ alt+up

Mova Lines Up Ação : alt+up

Mover linhas para baixo Ação : alt+down

Ou você pode substituir os atalhos de teclado de

Arquivo> Preferências> Atalhos do teclado

E editando o keybindings.json

Exemplo:

[
    {
        "key": "ctrl+d",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+up",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus"
    },
    {
        "key": "ctrl+shift+down",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus"
    }
]
manukn
fonte
Além disso, se você precisar mover uma linha para longe, ctrl + C e ctrl + X copiarão / cortarão facilmente a linha atual sem precisar selecioná-la. E ctrl + L(comando expandLineSelection ) selecionará uma linha. Repetir ctrl + L seleciona linhas adicionais, facilitando a seleção de um bloco. Ou você pode selecionar um bloco aproximado com o mouse e, em seguida, pressionar Ctrl + L para incluir as extremidades.
aamarks
Eu estou usando vscode 1.4 não está trabalhando querida
Kamlesh
49

Falhou uma resposta para esta pergunta, "Como duplicar a seleção de código" Semelhante ao comportamento do Sublime cmd/ ctrl+ shift+ dou Jetbrains ' cmd/ ctrl+ d.

Instale o plug-in Seleção ou linha duplicada no VS Code Marketplace

Seleção duplicada ou plug-in de código VS de linha

Esta extensão fornece ligações para ctrl+ d(Windows / Linux) e cmd+ d(MacOS). Para personalizar os atalhos de teclado Preferências -> Atalhos de teclado:

{
  "mac": "cmd+d",
  "key": "ctrl+d",
  "command": "geeebe.duplicateText",
  "when": "editorTextFocus"
}

Nota: O atalho também faz a linha duplicada; portanto, se você o instalar, remova o atalho ctrl+ anterior (se você o tiver feito antes); caso contrário, a seleção duplicada poderá ocorrer.dcopyLinesDownAction

Antman Slaper Man
fonte
Fiquei frustrado com o atalho "copiar linhas para baixo", que não se comportava exatamente como o recurso Sublime Text / Intellij Ctrl + D (ele copiava as linhas inteiras em vez de apenas a seleção). Obrigado por apontar este plugin!
Timothé Malahieude
Eu estava prestes a abandonar o vscode e instalar o atom, mas esta extensão me impediu. a funcionalidade duplicada padrão do vscode não está à altura da marca. átomo é muito melhor a este respeito.
vikrant 4/03
31

No VScode, eles chamam isso Copy Line UpeCopy Line Down

No menu, vá para:

Arquivo> Preferências> Atalhos do teclado

Verifique o atalho de teclado já atribuído para isso ou ajuste o seu.

Às vezes, o atalho atribuído padrão pode não funcionar, principalmente por causa do SO.

No meu Ubuntu, ajustei isso para: Ctrl+ Shift+D

insira a descrição da imagem aqui

Nahid
fonte
24

No VSCode Ctrl + CCtrl+ Vduplica toda a linha abaixo.

Prefiro isso à resposta aceita, porque requer apenas uma mão para fazer isso e parece muito mais natural.

A resposta aceita provavelmente o fará para a maioria das pessoas, no entanto, Downfica do outro lado do teclado. Portanto, você tem duas opções: use as duas mãos (mão esquerda: L Shift+ L Alt+ mão direita:) Up/Downou, com uma mão, use a R Shift+ R Alt+ direita Up/Down. A segunda opção parece estranha na minha opinião. Prefiro usar a opção em que minha mão fica naturalmente no teclado e, se for uma mão, melhor ainda.

Nick De Beer
fonte
7
O principal problema com que é que você solta o que estava em sua prancheta
Chris
20

Experimente ALT+ SHIFT+ UP/DOWN

Funcionou para mim!

eildiz
fonte
Esta deve ser a resposta aceita!
Fatih Aktaş
Funcionou para mim agora.
Mansoorkhan Cherupuzha 24/04
12

Observe que, para usuários do Ubuntu (<= 17.4), o Unity usa CTRL+ ALT+ SHIFT+ Arrow Keypara mover programas pelos espaços de trabalho virtuais, o que entra em conflito com os atalhos do código VS. Você precisará religar editor.action.copyLinesDownActione editor.action.copyLinesUpActionevitar o conflito (ou alterar as combinações de teclas da área de trabalho).

Para o Ubuntu 17.10+ que usa o GNOME, parece que o GNOME não usa essa combinação de teclas da mesma maneira, de acordo com a documentação, embora se alguém usando os espaços de trabalho vanilla no 17.10 puder confirmar isso, isso pode ser útil para quem procura respostas futuras.

David Bodow
fonte
Estou no Ubuntu 19.10 e Ctrl + Alt + Down ainda se move entre os espaços de trabalho.
BeeOnRope
9
  • Para usuários do Jetbrains IDE que migraram para o VSCode , não há problema.

  • Instalação:
    1) JetBrains IDE Mapa de teclas: Extensão
    2) vscode-IntelliJ-IDEA-keybindings Extensão (Preferred)

  • Use isto Intellij Darcula Theme: Extensão

  • O mapa de teclas cobriu a maioria dos atalhos de teclado do VS Code e torna o VS Code mais ' semelhante ao JetBrains IDE '.

  • As extensões acima importam as combinações de teclas do JetBrains para o VS Code. Depois de instalar a extensão e reiniciar o VS Code, você pode usar o VS Code como IntelliJ IDEA, Webstorm, PyCharm , etc.

Sumit Shukla
fonte
7

Para Windows :

Para copiar - shift+ alt+up

Para copiar para baixo - shift+ alt+down

Para mac :

Para copiar - shift+ option+up

Para copiar para baixo - shift+ option+down

Para linux :

Para copiar - ctrl+ shift+ alt+8

Para copiar para baixo - ctrl+ shift+ alt+2

Nota : Você pode alterar a ligação de teclas dos atalhos de teclado para o código do visual studio pressionando ctrl+ shift+p , digite atalho de teclado aberto no palete e pressione Enter para que o novo arquivo seja aberto (arquivo de atalho do teclado). Você pode ver todos os atalhos nos respectivos e pode alterar as combinações de teclas clicando duas vezes na respectiva combinação de teclas e, em seguida, inserindo sua própria combinação de teclas, pressione Enter.

Espero que isso ajude alguém!

Aman Kumar Gupta
fonte
6

Se você é do Sublime Text e não deseja reaprender a nova ligação de chave, pode usar esta extensão para o Visual Code Studio.

Mapa de texto sublime para código VS

Essa extensão porta os atalhos de teclado de Texto Sublime mais populares para o Visual Studio Code. Após instalar a extensão e reiniciar o VS Code, seus atalhos de teclado favoritos do Sublime Text estão disponíveis.

https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings

cyberfly
fonte
3

A duplicação de linha direta (sem a etapa da área de transferência) é proposta pela extensão Contextual Duplicate .

É mapeado em ctrl+K D

CharlesB
fonte
1

Para usuários da estação de trabalho Fedora 29 (Gnome 3.30.2) e Ubuntu.

Desvincular combinações desnecessárias de teclado para a área de trabalho esquerda / direita, listá-las por terminal

$ gsettings list-recursively | grep -E "org.gnome.desktop.wm.keybindings move-to-workspace-|org.gnome.desktop.wm.keybindings switch-to-workspace-"

Desvinculá-los

$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-right "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-left "[]"
$ gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-right "[]"

Redefinir atalhos duplicados

  • Super + Pgdown / PgUp, Ctrl + Alt + Seta para baixo / Seta para cima
  • Super + Shift + PgDown / PgUp, Ctrl + Alt + Shift + Seta para baixo / Seta para cima

Eles podem ser redefinidos facilmente para funcionar com apenas um atalho em Configurações> Dispositivos>
Somente teclado, digite novamente Super + PgUp para "Mover para a área de trabalho acima" como exemplo.

insira a descrição da imagem aqui

Agora, com atalhos menos duplicados no fedora29, todos os atalhos vscode para linux devem funcionar bem

christianbueno.1
fonte
0

na minha última versão do Visual Studio Code 1.30.2, ele será alterado automaticamente para


ctrl + D

Bouchaib Ennakr
fonte
No vscode, isso destaca a palavra sob o cursor. Talvez o Notepad ++ tenha usado o atalho ctrl + D. Apenas saindo da memória.
Flat Cat
0

Para usuários do Linux: notei o que no Linux você muitas vezes precisa usar winchave. Para o Windows, a combinação é:
ctrl+ shift + alt+up

então para Linux é o mesmo, basta adicionar a winchave:
ctrl+ shift + win+ alt+up

Notei isso em alguns combos agora. Diga ctrl+ alt + Lbloqueia o Linux, mas ctrl+ win + alt+ Lpara o código dos formatos Intellij. No Windows, basta ctrl+ alt + Lpara formatar o código.

meu-
fonte
0

Basta ir ao arquivo -> preferências -> atalhos do teclado. Você pode alterar qualquer atalho que desejar. procure duplicado e altere-o para o que você sempre usa em outros editores. Eu mudei para ctrl + D

Amin Noura
fonte