Zduplikowany wiersz w programie Visual Studio Code


146

Próbuję znaleźć skrót do duplikowania wiersza w Visual Studio Code (używam 1.3.1). Próbowałem oczywistego CTRL+, Dale to nie działa.



Ctrl + D dla powielania linii nie jest takie oczywiste: działa na przykład w Notepad ++, ale usuwa bieżącą linię w Eclipse :)
kol

Zobacz rozszerzenie Contextual Duplicate
CharlesB,

Domyślnie CTRL + Dpo prostu wybierz następne wystąpienie, które zostało wybrane w porównaniu z innymi IDE.
Amir Kian

Odpowiedzi:


254

Kliknij opcję Plik > Preferencje > Skróty klawiaturowe :

wprowadź opis obrazu tutaj

Wyszukaj copyLinesDownActionlub copyLinesUpActionw skrótach klawiaturowych

Zwykle jest to SHIFT+ ALT+


Aktualizacja dla Ubuntu:

Wygląda na to, że Ubuntu ukrywa ten skrót przed wyświetleniem go przez VSCode (tj. Używa go prawdopodobnie samodzielnie). Wystąpił problem z tym na GitHubie .

Aby pracować w Ubuntu będziesz musiał zdefiniować własny skrót, np. Aby skopiować linię za pomocą ctrl+ shift+ alt+ ji CTRL+ SHIFT+ ALT+ kmożesz użyć keybindings.jsontakiego:

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

Na Macu: Kod> Preferencje> Skróty klawiaturowe. Shift + Opcja + Strzałka w dół.
jarmod

2
@DAXaholic odpowiedź była poprawna, jeśli potrzebujesz nawet prostego rozwiązania, po prostu trzymaj kursor w linii, którą chcesz powielić i naciśnij ctrl + c i ctrl + v. działa dobrze
Gopi P

1
W systemie Ubuntu 16.04 skróty Ctrl+ Shift+ Up Arrow/ Down Arrowsą domyślnie mapowane do przenoszenia okien do różnych obszarów roboczych. Możesz to zmienić, Ubuntu -->System Settings --> Keyboard --> Shortcuts --> Navigationa następnie naciśnij, Backspaceaby usunąć niechciane skróty.
mowen

1
Mój jest powiązany z Ctrl + Shift + Alt + DownArrow, ale tak naprawdę nic nie robi, gdy klikam te przyciski.
Aaron Franke

105

Duplikat można uzyskać za pomocą CTRL+ Ci CTRL+ Vz kursorem w wierszu bez niczego zaznaczonego.


35
Nie zgodziłem się, ale wyobrażam sobie, że jest to niedopuszczalne dla OP, ponieważ kopiuje to wiersz do schowka, co jest jednym z bardzo dobrych powodów, aby chcieć użyć polecenia „zduplikowana linia” zamiast polecenia kopiuj / wklej.
Matt Dell

1
To nie działa, jeśli editor.emptySelectionClipboardopcja jest ustawiona na false(moja preferowana konfiguracja).
Bill_Stewart

8
To rozwala to, co miałem w swoim schowku
Kris Kilton,

1
Jedną z interesujących rzeczy, które zauważyłem w tej metodzie, jest to, że nie ma potrzeby zwalniania klawisza Ctrl po naciśnięciu
Arun

To psuje cały cel natychmiastowego powielania linii.
Arman Karimi

53

W zależności od systemu operacyjnego możesz użyć następujących opcji:

Okna:

Shift+ Alt+ lub Shift+ Alt+

Prochowiec:

Shift+ Option+ lub Shift+ Option+

Linux:

Ctrl+ Shift+ Alt+ lub Ctrl+ Shift+ Alt+

Uwaga: w przypadku niektórych dystrybucji Linuksa użyj strzałek Numpad


9

Wyszukaj copyLinesDownActionlub copyLinesUpActionw skrótach klawiaturowych

Zwykle jest to SHIFT+ ALT+


7

Ubuntu:

  • Duplikat Line Up: Ctrl+ Alt+ Shift+8
  • Duplikat linii w dół: Ctrl+ Alt+ Shift+2

1
działa idealnie dla mnie. Dziękuję za odpowiedź.
singhkumarhemant

1
W rzeczywistości jest to dobre rozwiązanie (działające na Ubuntu 20 i 19), które nie wymaga żadnych zmian w ustawieniach domyślnych. Może wydawać się niezbyt intuicyjne, ale 8 i 2 są rzeczywiste w górę iw dół w NumPad
user273711



2

W wersji 1.40 jest nowe polecenie: editor.action.duplicateSelectionniezwiązane z żadnym powiązaniem klawiszy.

Zduplikowany wybór

Dodaliśmy nową akcję o nazwie Duplikuj zaznaczenie. Po wykonaniu aktualny wybór zostanie zduplikowany, a wynik zostanie wybrany. Gdy nie ma zaznaczenia, bieżąca linia zostanie zduplikowana, a wszystko to bez zapisywania do schowka systemowego.

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

Niektórym może się to przydać w pewnych sytuacjach.


0

Kolejne 2 bardzo przydatne skróty to przesuwanie zaznaczonych linii w górę iw dół, tak jak robi to wysublimowany tekst ...

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

i

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

Źle. Nie potrzebujesz selectlinii w ST, aby ją powielić.
Green

skróty to przesuwanie wybranych „linii”
Nishant Baranwal

0

Wersja kodu VC: 1.22.2 Idź do: Kod -> Preferencje -> Skróty klawiaturowe (cmd + K; cms + S); Zmień (edytuj): "Dodaj zaznaczenie do następnego znalezienia dopasowania": "cmd + co chcesz" // dla mnie to jest "cmd + D", a ja pur cmd + F; Idź do "Copy Line Down": "cmd + D" // edytuj to i ustaw na przykład cmd + D I dla mnie to wszystko - używam mac;



0

Możliwe jest tworzenie skrótów klawiszowych, które są aktywne tylko wtedy, gdy Vim dla VSCode jest włączony iw określonym trybie (np. „Normalny”, „Wstaw” lub „Wizualny”).

Aby to zrobić, użyj Ctrl+ Shift+, Paby otworzyć paletę poleceń VSCode, a następnie wyszukaj „Preferencje: Otwórz skróty klawiaturowe (JSON)” - wybranie tej opcji spowoduje otwarcie keybindings.json . Tutaj można dodać niestandardowe powiązania.

Na przykład, tutaj są klasyczne polecenia VSCode do przesuwania / duplikowania linii, które zostały dostrojone w celu ułatwienia użytkowania w Vimie.

    [
      {
        "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'"
      },
    ]

Teraz możemy używać tych przyjaznych dla Vima poleceń w VSCode!

  • Alt+ Jaby przenieść linię w dół
  • Alt+ Kprzesunąć kolejkę w górę
  • Shift+ Alt+, Jaby powielić linię w dół
  • Shift + Alt+, Kaby powielić ustawienie

0

Aktualizacja, która może pomóc użytkownikom Ubuntu, jeśli nadal chcą używać i zamiast innego zestawu kluczy.

Właśnie zainstalowałem nową wersję VSCode na Ubuntu 18.04 LTS i miałem zduplikowane polecenia dla Add Cursor AboveiAdd Cursor Below

Oryginalne skróty klawiszowe

Właśnie usunąłem używane wiązania Ctrli dodałem własne z następującym

Copy Line Up

Ctrl+ Shift+

Copy Line Down

Ctrl+ Shift+

Nowe skróty klawiszowe


0

Istnieją różne sposoby.

  • Naciśnij klawisze CNTRL + C i CNTRL + V.
  • Naciśnij Shift + alt + strzałka w dół, aby powielić wiersz w dół
  • Naciśnij Shift + alt + strzałka w górę, aby powielić wiersz do góry
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.