Linha duplicada no código do Visual Studio


146

Estou tentando encontrar o atalho para duplicar uma linha no Visual Studio Code (estou usando 1.3.1). Tentei o óbvio CTRL+, Dmas isso não parece funcionar.



Ctrl + D para a duplicação da linha não é tão óbvio: ele funciona em Notepad ++ por exemplo, mas exclui a linha atual em Eclipse :)
kol

Veja a extensão Contextual Duplicate
CharlesB

por padrão, CTRL + Dbasta selecionar a próxima ocorrência que foi selecionada versus outros IDEs.
Amir Kian

Respostas:


253

Clique em Arquivo > Preferências > Atalhos do teclado :

insira a descrição da imagem aqui

Procure copyLinesDownActionoucopyLinesUpAction nos atalhos do teclado

Geralmente é SHIFT+ ALT+


Atualização para o Ubuntu:

Parece que o Ubuntu está escondendo esse atalho de ser visto pelo VSCode (isto é, provavelmente o usa sozinho). Há um problema sobre isso no GitHub .

Para trabalhar no Ubuntu, você terá que definir seu próprio atalho, por exemplo, para copiar a linha usando ctrl+ shift+ alt+ je CTRL+ SHIFT+ ALT+, kvocê pode usar o keybindings.jsonseguinte:

[
    { "key": "ctrl+shift+alt+j", "command": "editor.action.copyLinesDownAction",
                                    "when": "editorTextFocus && !editorReadonly" },
    { "key": "ctrl+shift+alt+k", "command": "editor.action.copyLinesUpAction",
                                    "when": "editorTextFocus && !editorReadonly" }
]

No Mac: Código> Preferências> Atalhos do Teclado. Shift + Option + Seta para baixo.
jarmod

2
A resposta do @DAXaholic estava correta, se você precisar de uma solução simples, apenas mantenha o cursor na linha que deseja duplicar e pressione ctrl + ce ctrl + v. funciona bem
Gopi P

1
No Ubuntu 16.04, por padrão, os atalhos Ctrl+ Shift+ Up Arrow/ Down Arrowsão mapeados para mover janelas para diferentes áreas de trabalho. Você pode alterar isso Ubuntu -->System Settings --> Keyboard --> Shortcuts --> Navigatione pressionar Backspacepara excluir os atalhos indesejados.
Mowen 25/10/19

1
O meu está vinculado a Ctrl + Shift + Alt + DownArrow, mas na verdade não faz nada quando clico nesses botões.
Aaron Franke em

104

A duplicata pode ser alcançada pressionando CTRL+ Ce CTRL+ Vcom o cursor na linha sem nada selecionado.


35
Eu não diminuí a votação, mas imagino que isso não seja aceitável para o OP, pois isso copia a linha para a área de transferência, o que é uma boa razão para querer um comando "linha duplicada" em vez de um comando copiar / colar.
Matt Dell

1
Isso não funciona se a editor.emptySelectionClipboardopção estiver definida como false(minha configuração preferida).
Bill_Stewart

7
Este sopra longe o que eu tive na minha prancheta
Kris Kilton

1
Uma coisa interessante que notei nesse método é que não é necessário soltar a tecla Ctrl depois de pressionar 'C' (soltar somente após o lançamento de V)
Arun

Isso arruina todo o objetivo da duplicação instantânea de linhas.
Arman Karimi 23/07

52

Você pode usar o seguinte, dependendo do seu sistema operacional:

Janelas:

Shift+ Alt+ ou Shift+ Alt+

Mac:

Shift+ Option+ ou Shift+ Option+

Linux:

Ctrl+ Shift+ Alt+ ou Ctrl+ Shift+ Alt+

Nota: Para algumas distribuições Linux, use as setas do Numpad


9

Procure copyLinesDownActionou copyLinesUpActionnos atalhos do teclado

Normalmente, é SHIFT+ ALT+


7

Ubuntu:

  • Linha duplicada: Ctrl+ Alt+ Shift+8
  • Linha duplicada abaixo: Ctrl+ Alt+ Shift+2

1
funcionando perfeitamente bem para mim. obrigado pela resposta.
Singhkumarhemant 27/12/19

1
Esta é realmente uma boa solução (trabalhando no Ubuntu 20 e 19) que não requer nenhuma alteração na configuração padrão. Pode não parecer muito intuitivamente, mas 8 e 2 são reais acima e abaixo no NumPad
user273711



2

Há um novo comando na v1.40: editor.action.duplicateSelectionnão vinculado a qualquer combinação de teclas.

Seleção duplicada

Adicionamos uma nova ação denominada Seleção duplicada. Quando executada, a seleção atual será duplicada e o resultado será selecionado. Quando não houver seleção, a linha atual será duplicada, tudo sem gravar na área de transferência do sistema.

de https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_40.md

Alguns podem achar útil em determinadas situações.


0

Outros 2 atalhos muito úteis são mover linhas selecionadas para cima e para baixo, como o texto sublime faz ...

{
  "key" : "ctrl+shift+down", "command" : "editor.action.moveLinesDownAction",
  "when" : "editorTextFocus && !editorReadonly"
},

e

{
  "key" : "ctrl+shift+up", "command" : "editor.action.moveLinesUpAction",
  "when" : "editorTextFocus && !editorReadonly"
}

Errado. Você não precisa de selectuma linha no ST para duplicá-la.
Verde

atalhos são para mover "linhas" selecionadas
Nishant Baranwal 4/17/17

0

Versão do código VC: 1.22.2 Vá para: Código -> Preferências -> Atalhos do teclado (cmd + K; cms + S); Alterar (editar): "Adicionar seleção à próxima correspondência de busca": "cmd + o que você deseja" // para mim, é "cmd + D" e eu compro cmd + F; Vá para "Copiar linha para baixo": "cmd + D" // edite e defina cmd + D por exemplo E para mim isso é tudo - eu uso o mac;



0

É possível criar combinações de teclas que só estão ativas quando o Vim for VSCode está ativado e em um determinado modo (por exemplo, "Normal", "Inserir" ou "Visual").

Para fazer isso, use Ctrl+ Shift+ Ppara abrir a Paleta de comandos do VSCode e procure por "Preferências: Abrir atalhos de teclado (JSON)" - selecionar essa opção abrirá o keybindings.json . Aqui, ligações personalizadas podem ser adicionadas.

Por exemplo, aqui estão os comandos clássicos do VSCode para mover / duplicar linhas ajustadas para facilitar o uso no Vim.

    [
      {
        "key": "alt+j",
        "command": "editor.action.moveLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+j",
        "command": "editor.action.copyLinesDownAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+k",
        "command": "editor.action.moveLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
      {
        "key": "alt+shift+k",
        "command": "editor.action.copyLinesUpAction",
        "when": "editorTextFocus && vim.active && vim.mode == 'Normal'"
      },
    ]

Agora podemos usar esses comandos amigáveis ​​ao Vim no VSCode!

  • Alt + J para mover uma linha para baixo
  • Alt + K para mover uma linha para cima
  • Shift+ Alt+J para duplicar uma linha para baixo
  • Shift + Alt+ Kpara duplicar uma linha

0

Atualização que pode ajudar os usuários do Ubuntu se ainda quiserem usar o e , em vez de um outro conjunto de chaves.

Acabei de instalar uma versão nova do VSCode no Ubuntu 18.04 LTS e tinha comandos duplicados para Add Cursor AboveeAdd Cursor Below

Keybindings originais

Acabei de remover as ligações usadas Ctrle adicionei as minhas com as seguintes

Copy Line Up

Ctrl+ Shift+

Copy Line Down

Ctrl+ Shift+

Novas combinações de teclas


0

Existem maneiras diferentes.

  • Pressione CNTRL + C e CNTRL + V.
  • Pressione Shift + alt + downarrow para duplicar a linha na parte inferior
  • Pressione Shift + alt + uparrow para duplicar a linha para cima
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.