Visual Studio Code의 중복 줄


146

Visual Studio Code에서 줄을 복제하기위한 바로 가기를 찾으려고합니다 (1.3.1 사용 중). 명백한 CTRL+를 시도했지만 D작동하지 않는 것 같습니다.



줄 복제를위한 Ctrl + D는 그다지 명확하지 않습니다. 예를 들어 메모장 ++에서 작동하지만 Eclipse에서 현재 줄을 삭제 합니다. :)
kol

Contextual Duplicate 확장을 참조하십시오
CharlesB

기본적으로 CTRL + D다른 IDE와 비교하여 선택한 다음 항목을 선택하기 만하면됩니다.
Amir Kian

답변:


253

파일 > 환경 설정 > 키보드 단축키를 클릭합니다 .

여기에 이미지 설명 입력

키보드 단축키를 검색 copyLinesDownAction하거나copyLinesUpAction

보통은 SHIFT+ ALT+


Ubuntu 업데이트 :

우분투는 VSCode에서 볼 수있는 바로 가기를 숨기는 것 같습니다 (즉, 아마도 자체적으로 사용하는 것 같습니다). GitHub 에 대한 문제가 있습니다 .

우분투에서 작업하기 위해서는 자신 만의 단축키를 정의해야합니다. 예를 들어 ctrl+ shift+ alt+ jCTRL+ SHIFT+ ALT+ k를 사용하여 줄을 복사 하려면 다음 keybindings.json과 같이 사용할 수 있습니다 .

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

Mac : 코드> 환경 설정> 키보드 단축키. Shift + Option + 아래쪽 화살표.
jarmod

2
@DAXaholic 대답은 간단한 해결책이 필요한 경우 정확했습니다. 복제하려는 줄에 커서를 놓고 ctrl + c 및 ctrl + v를 누르십시오. 그것을 잘 작동합니다
Gopi P

1
Ubuntu 16.04에서 기본적으로 Ctrl+ Shift+ Up Arrow/ Down Arrow바로 가기는 창을 다른 작업 공간으로 이동하는 데 매핑됩니다. 에서 변경 Ubuntu -->System Settings --> Keyboard --> Shortcuts --> Navigation한 다음을 눌러 Backspace원하지 않는 바로 가기를 삭제할 수 있습니다 .
mowen

1
내 것은 Ctrl + Shift + Alt + DownArrow에 바인딩되어 있지만 실제로는 해당 버튼을 클릭해도 아무 작업도 수행하지 않습니다.
Aaron Franke

104

복제는 아무것도 선택하지 않고 행에 커서를두고 CTRL+ CCTRL+ 로 수행 할 수 있습니다 V.


35
나는 반대표를 던지지 않았지만 이것은 클립 보드에 줄을 복사하기 때문에 OP에 허용되지 않는다고 생각합니다. 이것은 복사 / 붙여 넣기 명령 대신 "줄 복제"명령을 원하는 아주 좋은 이유 중 하나입니다.
Matt Dell

1
editor.emptySelectionClipboard옵션이 false(내 선호 구성)으로 설정되어 있으면 작동하지 않습니다 .
Bill_Stewart

7
이것은 내가 내 클립 보드에 무엇을했다 압도
크리스 Kilton에게

1
이 방법에서 제가 주목 한 한 가지 흥미로운 점은 'C'를 누른 후 Ctrl 키를 놓을 필요가 없다는 것입니다 (V를 놓은 후에 만 ​​놓음)
Arun

이것은 즉각적인 라인 복제의 전체 목적을 파괴합니다.
Arman Karimi

53

OS에 따라 다음을 사용할 수 있습니다.

Windows :

Shift+ Alt+ 또는 Shift+ Alt+

맥:

Shift+ Option+ 또는 Shift+ Option+

리눅스 :

Ctrl+ Shift+ Alt+ 또는 Ctrl+ Shift+ Alt+

참고 : 일부 Linux 배포판의 경우 Numpad 화살표를 사용합니다.


9

키보드 단축키를 검색 copyLinesDownAction하거나copyLinesUpAction

보통은 SHIFT+ ALT+


7

우분투 :

  • 중복 라인업 : Ctrl+ Alt+ Shift+8
  • 중복 행 아래 : Ctrl+ Alt+ Shift+2

1
나를 위해 완벽하게 잘 작동합니다. 답변 해주셔서 감사합니다.
singhkumarhemant

1
이것은 실제로 기본 설정을 변경할 필요가없는 좋은 솔루션 (Ubuntu 20 & 19에서 작동)입니다. 매우 직관적으로 보이지는 않지만 8 & 2는 NumPad에서 실제 위아래입니다
user273711



2

v1.40 editor.action.duplicateSelection에는 모든 키 바인딩에 바인딩 해제 된 새로운 명령이 있습니다 .

중복 선택

Duplicate Selection이라는 새 작업을 추가했습니다. 실행되면 현재 선택이 복제되고 결과가 선택됩니다. 선택 항목이 없으면 현재 줄이 모두 시스템 클립 보드에 쓰지 않고 복제됩니다.

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

일부는 특정 상황에서 도움이 될 수 있습니다.


0

또 다른 두 가지 매우 유용한 단축키는 숭고한 텍스트처럼 선택한 줄을 위아래로 이동하는 것입니다.

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

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

잘못된. select복제하기 위해 ST에 줄이 필요하지 않습니다 .
Green

바로 가기 "라인"을 선택 이동할 수 있습니다
Nishant Baranwal을

0

VC 코드 버전 : 1.22.2 이동 : 코드-> 환경 설정-> 키보드 단축키 (cmd + K; cms + S); 변경 (편집) : "다음 찾기 일치에 선택 추가": "cmd + 원하는 것"// 나에게 이것은 "cmd + D"이고 나는 pur cmd + F; "Copy Line Down": "cmd + D"로 이동합니다. // 이것을 편집하고 cmd + D를 예를 들어 설정합니다. 그리고 저에게는 그게 전부입니다-저는 mac을 사용합니다.



0

Vim for VSCode가 켜져 있고 특정 모드 (예 : "Normal", "Insert"또는 "Visual") 일 때만 활성화되는 키 바인딩을 생성 할 수 있습니다.

이렇게하려면 Ctrl+ Shift+ P를 사용하여 VSCode의 명령 팔레트를 연 다음 "Preferences : Open Keyboard Shortcuts (JSON)"를 검색합니다.이 옵션을 선택하면 keybindings.json 이 열립니다 . 여기에서 사용자 지정 바인딩을 추가 할 수 있습니다.

예를 들어 다음은 Vim에서 사용하기 쉽도록 조정 된 라인을 이동 / 복제하는 고전적인 VSCode 명령입니다.

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

이제 VSCode에서 Vim 친화적 인 명령을 사용할 수 있습니다!

  • Alt+ J줄을 아래로 이동
  • Alt+ K줄을 위로 이동
  • Shift+ Alt+ J줄을 아래로 복제
  • Shift + Alt+ K줄을 복제하려면

0

그들은 여전히 사용하려는 경우 우분투 사용자에게 도움이 될 수 있습니다 업데이트 대신 키의 또 다른 세트.

방금 Ubuntu 18.04 LTS에 새 버전의 VSCode를 설치했고 Add Cursor AboveAdd Cursor Below

원래 키 바인딩

방금 사용한 바인딩을 제거 Ctrl하고 다음과 같이 내 바인딩을 추가했습니다.

Copy Line Up

Ctrl+ Shift+

Copy Line Down

Ctrl + Shift+

새로운 키 바인딩


0

다른 방법이 있습니다.

  • CNTRL + C 및 CNTRL + V를 누릅니다.
  • Shift + Alt + 아래쪽 화살표를 눌러 줄을 아래쪽으로 복제합니다.
  • Shift + Alt + 위쪽 화살표를 눌러 선을 위쪽으로 복제
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.