บรรทัดที่ซ้ำกันใน Visual Studio Code


146

ฉันกำลังพยายามค้นหาทางลัดสำหรับการทำสำเนาบรรทัดใน Visual Studio Code (ฉันใช้ 1.3.1) ฉันลองใช้CTRL+ ที่ชัดเจนDแต่ดูเหมือนจะไม่ได้ผล



Ctrl + D สำหรับการทำสำเนาบรรทัดนั้นไม่ชัดเจนนัก: ทำงานใน Notepad ++ เช่น แต่จะลบบรรทัดปัจจุบันใน Eclipse :)
kol

ดูส่วนขยายContextual Duplicate
CharlesB

ตามค่าเริ่มต้นCTRL + Dเพียงแค่เลือกเหตุการณ์ถัดไปที่เลือกเทียบกับ IDE อื่น ๆ
Amir Kian

คำตอบ:


253

คลิกไฟล์ > การตั้งค่า > แป้นพิมพ์ลัด :

ใส่คำอธิบายภาพที่นี่

ค้นหาcopyLinesDownActionหรือcopyLinesUpActionในแป้นพิมพ์ลัดของคุณ

โดยปกติจะเป็นSHIFT+ ALT+


อัปเดตสำหรับ Ubuntu:

ดูเหมือนว่า Ubuntu จะซ่อนทางลัดนั้นไม่ให้ VSCode มองเห็นได้ (กล่าวคืออาจใช้โดยตัวมันเอง) มีปัญหาเกี่ยวกับการว่าในวันที่เป็นGitHub

ในการทำงานใน Ubuntu คุณจะต้องกำหนดทางลัดของคุณเองเช่นการคัดลอกบรรทัดโดยใช้ctrl+ shift+ alt+ jและCTRL+ 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เพื่อลบทางลัดที่ไม่ต้องการ
ตัดหญ้า

1
Mine ถูกผูกไว้กับ Ctrl + Shift + Alt + DownArrow แต่มันไม่ได้ทำอะไรเลยเมื่อฉันคลิกปุ่มเหล่านั้น
Aaron Franke

104

การทำซ้ำสามารถทำได้โดยCTRL+ CและCTRL+ Vโดยมีเคอร์เซอร์อยู่ในบรรทัดโดยไม่ต้องเลือกอะไรเลย


35
ฉันไม่ได้ลงคะแนน แต่ฉันคิดว่านี่ไม่สามารถยอมรับได้สำหรับ OP เนื่องจากการคัดลอกบรรทัดลงในคลิปบอร์ดซึ่งเป็นเหตุผลที่ดีมากที่ต้องการคำสั่ง "รายการซ้ำ" แทนคำสั่งคัดลอก / วาง
Matt Dell

1
สิ่งนี้จะใช้ไม่ได้หากeditor.emptySelectionClipboardตั้งค่าตัวเลือกเป็นfalse(การกำหนดค่าที่ฉันต้องการ)
Bill_Stewart

8
สิ่งนี้พัดสิ่งที่ฉันมีในคลิปบอร์ด
Kris Kilton

1
สิ่งหนึ่งที่น่าสนใจที่ฉันสังเกตเห็นในวิธีนี้คือไม่จำเป็นต้องปล่อยปุ่ม Ctrl หลังจากกด 'C' (ปล่อยหลังจากปล่อย V เท่านั้น)
อรุณ

สิ่งนี้ทำลายวัตถุประสงค์ทั้งหมดของการทำสำเนาบรรทัดทันที
Arman Karimi

53

คุณสามารถใช้สิ่งต่อไปนี้ขึ้นอยู่กับระบบปฏิบัติการของคุณ:

ของ windows:

Shift+ Alt + หรือ Shift+ Alt+

Mac:

Shift+ Option+ หรือ Shift+ Option+

ลินุกซ์:

Ctrl+ Shift+ Alt+ หรือCtrl+Shift + Alt+

หมายเหตุ: สำหรับ linux distros บางรุ่นให้ใช้ลูกศร Numpad


9

ค้นหาcopyLinesDownActionหรือcopyLinesUpActionในแป้นพิมพ์ลัดของคุณ

โดยปกติจะเป็นSHIFT+ ALT+


7

Ubuntu:

  • รายการที่ซ้ำกัน: 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

อีก 2 ทางลัดที่มีประโยชน์มากคือการเลื่อนบรรทัดที่เลือกขึ้นและลงเช่นข้อความประเสริฐทำ ...

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

และ

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

ไม่ถูกต้อง. คุณไม่จำเป็นต้องต่อselectแถวใน ST เพื่อที่จะทำซ้ำ
กรีน

ทางลัดคือการย้าย "เส้น" ที่เลือก
Nishant Baranwal

0

VC Code เวอร์ชัน: 1.22.2 ไปที่: Code -> Preferences -> Keyboard Shortcuts (cmd + K; cms + S); Change (แก้ไข): "Add Selection To Next Find Match": "cmd + what you want" // สำหรับฉันนี่คือ "cmd + D" และฉัน pur cmd + F; ไปที่ "Copy Line Down": "cmd + D" // แก้ไขและตั้งค่า cmd + D ตัวอย่างและสำหรับฉันนั่นคือทั้งหมด - ฉันใช้ mac;



0

เป็นไปได้ที่จะสร้างการเชื่อมโยงคีย์ที่ใช้งานได้เฉพาะเมื่อ Vim สำหรับ VSCode เปิดอยู่และอยู่ในโหมดที่กำหนด (เช่น "ปกติ" "แทรก" หรือ "ภาพ")

ในการทำเช่นนั้นให้ใช้Ctrl+ Shift+ Pเพื่อเปิด Command Palette ของ VSCode จากนั้นค้นหา "Preferences: Open Keyboard Shortcuts (JSON)" - การเลือกตัวเลือกนี้จะเป็นการเปิดkeybindings.json keybindings.jsonคุณสามารถเพิ่มการเชื่อมโยงแบบกำหนดเองได้ที่นี่

ตัวอย่างเช่นต่อไปนี้เป็นคำสั่ง VSCode แบบคลาสสิกเพื่อย้าย / คัดลอกบรรทัดที่ปรับแต่งเพื่อความสะดวกในการใช้งานใน 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'"
      },
    ]

ตอนนี้เราสามารถใช้คำสั่ง Vim-friendly เหล่านี้ใน VSCode ได้แล้ว!

  • Alt+ Jเพื่อเลื่อนบรรทัดลง
  • Alt+ Kเพื่อย้ายบรรทัดขึ้น
  • Shift+ Alt+ Jเพื่อทำซ้ำบรรทัดลง
  • Shift + Alt+ Kเพื่อทำซ้ำบรรทัด

0

การอัปเดตที่อาจช่วยผู้ใช้ Ubuntu หากพวกเขายังต้องการใช้และแทนชุดคีย์อื่น

ฉันเพิ่งติดตั้ง VSCode เวอร์ชันใหม่บน Ubuntu 18.04 LTS และฉันมีคำสั่งที่ซ้ำกันสำหรับAdd Cursor AboveและAdd Cursor Below

Keybindings ดั้งเดิม

ฉันเพิ่งลบการผูกที่ใช้Ctrlและเพิ่มของฉันเองด้วยสิ่งต่อไปนี้

Copy Line Up

Ctrl+ Shift+

Copy Line Down

Ctrl+ Shift+

Keybindings ใหม่


0

มีวิธีต่างๆ

  • กด CNTRL + C และ CNTRL + V
  • กด Shift + alt + downarrow เพื่อทำซ้ำบรรทัดที่ด้านล่าง
  • กด Shift + alt + uparrow เพื่อทำซ้ำบรรทัดเพื่อกลับหัว
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.