ฉันจะทำสำเนาบรรทัดหรือส่วนที่เลือกภายในรหัส Visual Studio ได้อย่างไร


732

ใช้รหัส Visual Studio ของ Microsoft ฉันจะทำซ้ำบรรทัดของรหัสแล้วเลื่อนขึ้นและลงได้อย่างไร (คล้ายกับพฤติกรรม+ cmd+ ของ Sublime )shiftd

มันเป็นคุณสมบัติที่ฉันใช้อย่างต่อเนื่องและกำลังดิ้นรนโดยใช้ Visual Studio Code โดยที่ไม่มีมัน


สิ่งนี้ตอบคำถามของคุณหรือไม่ ทำซ้ำบรรทัดใน Visual Studio Code
Arash.Zandi

คำตอบ:


1327

คำสั่งของคุณกำลังมองหาอยู่และeditor.action.copyLinesDownActioneditor.action.copyLinesUpAction

คุณสามารถดูการโยงคีย์ที่เกี่ยวข้องได้โดยเลือก: ไฟล์> การกำหนดค่าตามความชอบ> แป้นพิมพ์ลัด

ของ windows:

Shift+ Alt+ DownและShift+ Alt+Up

Mac:

Shift+ Option+ DownและShift+OptionUp

ลินุกซ์:

Ctrl+ Shift+ Alt+ DownและCtrl+ Shift+ Alt+Up

(อาจต้องใช้ numpad DownและUpสำหรับ Linux)

นอกจากนี้คำสั่งeditor.action.moveLinesUpActionและeditor.action.moveLinesDownActionเป็นคนที่จะย้ายสายและพวกเขาจะถูกผูกไว้กับAlt+ DownและAlt+ Upบน Windows และ Mac และCtrl+ DownและCtrl+ Upบน Linux


59
และดูเหมือนAlt+UpหรือAlt+Downย้ายบรรทัดที่มีอยู่ขึ้นและลง ดี
คริส

2
เป็นที่น่าสังเกตว่าการกระทำของ copyLines ไม่มีอยู่ใน Visual Studio แบบเต็มเฉพาะรหัส Visual Studio
user45623

4
เครื่องมือ | ตัวเลือก | สิ่งแวดล้อม แป้นพิมพ์ ใน VS2015
Mike Keskinov

15
คุณรู้วิธี "การเลือกซ้ำ" หรือไม่? ฉันไม่สามารถหาคำสั่งที่เหมาะสม :(
nZeus

25
บน Linux ctrl+shift+alt+down/upใช้งานได้เฉพาะกับปุ่มลูกศร num pad
Jack Steam

174

คุณสามารถค้นหาแป้นพิมพ์ลัดจาก

ไฟล์> ค่ากำหนด> แป้นพิมพ์ลัด

แป้นพิมพ์ลัดเริ่มต้นคือ

คัดลอกเส้นการกระทำ : shift+ alt+down

คัดลอกเส้นการกระทำ : shift+ alt+up

ย้ายสายการกระทำ : alt+up

ย้ายรายการลงการกระทำ : alt+down

หรือคุณสามารถแทนที่แป้นพิมพ์ลัดจาก

ไฟล์> ค่ากำหนด> แป้นพิมพ์ลัด

และการแก้ไข keybindings.json

ตัวอย่าง:

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

นอกจากนี้หากคุณต้องย้ายเส้นไกล ctrl + C และ ctrl + X จะคัดลอก / ตัดบรรทัดปัจจุบันโดยไม่ต้องเลือก และctrl + L(คำสั่งexpandLineSelection ) จะทำการเลือกบรรทัด ทำซ้ำ ctrl + L เลือกบรรทัดเพิ่มเติมทำให้บล็อกเลือกง่าย หรือคุณสามารถเลือกบล็อกคร่าวๆด้วยเมาส์แล้วกด Ctrl + L เพื่อรวมส่วนท้าย
aamarks

ฉันใช้ vscode 1.4 มันไม่ได้เป็นที่รัก
Kamlesh

49

มันพลาดคำตอบสำหรับคำถามนี้"วิธีที่จะซ้ำกันการเลือกรหัส"ที่คล้ายกันกับ Sublime ของcmd/ ctrl+ shift+ dหรือ Jetbrains' cmd/ ctrl+ dพฤติกรรม

ติดตั้งปลั๊กอินการเลือกซ้ำหรือบรรทัดจาก VS Code Marketplace

การเลือกซ้ำหรือปลั๊กอิน VS Code ของบรรทัด

ส่วนขยายนี้ให้การเชื่อมสำหรับctrl+ d(Windows / Linux) และcmd+ d(MacOS) ในการปรับแต่งการตั้งค่าแป้นพิมพ์ลัด-> แป้นพิมพ์ลัด:

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

หมายเหตุ:ทางลัดนั้นเป็นบรรทัดที่ซ้ำกันดังนั้นหากคุณติดตั้งให้ลบctrl+ dทางลัดก่อนหน้าของคุณcopyLinesDownAction(ถ้าคุณเคยทำมาก่อน) มิฉะนั้นการเลือกซ้ำอาจทำให้เกิดข้อผิดพลาด


ฉันรู้สึกผิดหวังโดยทางลัด "คัดลอกบรรทัดลง" ซึ่งไม่ได้ทำงานเหมือนกับคุณลักษณะ Sublime Text / Intellij Ctrl + D (มันคัดลอกทั้งบรรทัดแทนที่จะเป็นเพียงส่วนที่เลือก) ขอบคุณสำหรับการชี้ให้เห็นปลั๊กอินนี้!
Timothé Malahieude

ฉันกำลังจะทิ้ง vscode และติดตั้ง atom แต่ส่วนขยายนี้ทำให้ฉัน ฟังก์ชันการทำงานที่ซ้ำกันเริ่มต้นของ vscode ไม่ถึงเครื่องหมาย อะตอมนั้นดีกว่ามากในเรื่องนี้
vikrant

31

ใน VScode พวกเขาเรียกสิ่งนี้Copy Line UpและCopy Line Down

จากเมนูไปที่:

ไฟล์> ค่ากำหนด> แป้นพิมพ์ลัด

ตรวจสอบแป้นพิมพ์ลัดที่กำหนดไว้แล้วสำหรับสิ่งนี้หรือปรับเปลี่ยนของคุณ

บางครั้งทางลัดเริ่มต้นที่กำหนดอาจไม่ทำงานส่วนใหญ่เป็นเพราะระบบปฏิบัติการ

ใน Ubuntu ของฉันฉันปรับสิ่งนี้เป็น: Ctrl+ Shift+D

ป้อนคำอธิบายรูปภาพที่นี่


24

ในVSCode Ctrl + CCtrl+ Vทำซ้ำทั้งบรรทัดด้านล่าง

ฉันชอบสิ่งนี้กับคำตอบที่ยอมรับเพราะเพียงแค่ใช้มือเดียวในการทำเช่นนี้และรู้สึกเป็นธรรมชาติ

คำตอบที่ยอมรับอาจทำเพื่อคนส่วนใหญ่อย่างไรก็ตามDownอยู่อีกด้านหนึ่งของแป้นพิมพ์ เพื่อให้คุณมีสองตัวเลือกให้ใช้มือทั้งสองข้างบน (ซ้ายมือ: L Shift+ L Alt+ ขวามือ: Up/Down) หรือที่มีการใช้งานมือเดียวขวาR Shift+ +R Alt Up/Downตัวเลือกที่สองรู้สึกแปลกในความคิดของฉัน ฉันควรใช้ตัวเลือกที่มือของฉันวางอยู่บนแป้นพิมพ์ตามธรรมชาติและหากมือข้างหนึ่งดีกว่า


7
ปัญหาหลักของเรื่องนี้ก็คือคุณหลวมสิ่งที่อยู่ในคลิปบอร์ดของคุณ
Chris


12

โปรดทราบว่าสำหรับผู้ใช้ Ubuntu (<= 17.4) Unity ใช้CTRL+ ALT+ SHIFT+ Arrow Keyสำหรับการย้ายโปรแกรมข้ามเวิร์กสเปซเสมือนซึ่งขัดแย้งกับทางลัด VS Code คุณจะต้องเชื่อมต่อใหม่editor.action.copyLinesDownActionและeditor.action.copyLinesUpActionเพื่อหลีกเลี่ยงความขัดแย้ง (หรือเปลี่ยนการเชื่อมโยงพื้นที่ทำงานของคุณ)

สำหรับ Ubuntu 17.10+ ที่ใช้ GNOME ดูเหมือนว่า GNOME จะไม่ใช้การเชื่อมโยงคีย์นี้ในลักษณะเดียวกันตามเอกสารประกอบแม้ว่าผู้ที่ใช้วานิลลาพื้นที่ทำงานใน 17.10 จะสามารถยืนยันสิ่งนี้ได้มันอาจเป็นประโยชน์สำหรับผู้ค้นหาคำตอบในอนาคต


ฉันใช้ Ubuntu 19.10 และ Ctrl + Alt + Down ยังคงเลื่อนระหว่างพื้นที่ทำงาน
BeeOnRope

9
  • สำหรับผู้ใช้ Jetbrains IDEที่ย้ายไปยังVSCodeจะไม่มีปัญหา

  • ติดตั้ง:
    1) JetBrains IDE Keymap: ขยาย
    2) vscode-IntelliJ-ความคิด keybindings ขยาย (Preferred)

  • ใช้สิ่งนี้Intellij Darcula Theme: ส่วนขยาย

  • คีย์แมปครอบคลุมส่วนใหญ่ของแป้นพิมพ์ลัดของรหัส VS และทำให้รหัส VS เพิ่มเติม ' JetBrains IDE like '

  • ส่วนขยายด้านบนนำเข้าการโยงคีย์จาก JetBrains ไปยัง VS Code หลังจากติดตั้งส่วนขยายและรีสตาร์ท VS Code คุณสามารถใช้ VS Code เช่นIntelliJ IDEA, Webstorm, PyCharmและอื่น ๆ


7

สำหรับWindows :

วิธีคัดลอก - shift+ alt+up

วิธีคัดลอก - shift+ alt+down

สำหรับmac :

วิธีคัดลอก - shift+ option+up

วิธีคัดลอก - shift+ option+down

สำหรับlinux :

วิธีคัดลอก - ctrl+ shift+ alt+8

วิธีคัดลอก - ctrl+ shift+ alt+2

หมายเหตุ : คุณสามารถเปลี่ยนปุ่มลัดบนแป้นพิมพ์ลัดสำหรับรหัส visual Studio โดยกดctrl+ shift+pจากนั้นพิมพ์แป้นพิมพ์ลัดเปิดในพาเลทแล้วกด Enter เพื่อเปิดไฟล์ใหม่ (ไฟล์คีย์ลัดของบอร์ด) คุณจะเห็นปุ่มลัดทั้งหมดของปุ่มเหล่านั้น และสามารถเปลี่ยนการโยงคีย์โดยการคลิกสองครั้งเหนือการโยงคีย์ที่เกี่ยวข้องจากนั้นโดยการป้อนการโยงคีย์ของคุณเองในที่สุดก็กด Enter

หวังว่านี่จะช่วยใครซักคน!


6

หากคุณมาจาก Sublime Text และไม่ต้องการเรียนรู้การเชื่อมโยงคีย์ใหม่คุณสามารถใช้ส่วนขยายนี้สำหรับ Visual Code Studio

คีย์ข้อความข้อความประเสริฐสำหรับรหัส VS

ส่วนขยายนี้พอร์ตแป้นพิมพ์ข้อความ Sublime ที่นิยมมากที่สุดไปยังรหัส Visual Studio หลังจากติดตั้งส่วนขยายและรีสตาร์ทรหัส VS คุณสามารถใช้แป้นพิมพ์ลัดที่คุณโปรดปรานจาก Sublime Text ได้แล้ว

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



1

สำหรับผู้ใช้เวิร์กสเตชัน Fedora 29 (Gnome 3.30.2) และ Ubuntu

ยกเลิกการรวมแป้นพิมพ์พื้นที่ทำงานที่ไม่จำเป็นซ้าย / ขวาแสดงรายการโดยเทอร์มินัล

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

แยกพวกเขาออก

$ 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 "[]"

รีเซ็ตทางลัดที่ซ้ำกัน

  • Super + Pgdown / PgUp, Ctrl + Alt + DownArrow / UpArrow
  • Super + Shift + PgDown / PgUp, Ctrl + Alt + Shift + DownArrow / UpArrow

สามารถรีเซ็ตได้อย่างง่ายดายเพื่อทำงานด้วยทางลัดเดียวในการตั้งค่า> อุปกรณ์> คีย์บอร์ดพิมพ์
เฉพาะอีกครั้ง Super + PgUp สำหรับ "ย้ายไปยังพื้นที่ทำงานด้านบน" เป็นตัวอย่าง

ป้อนคำอธิบายรูปภาพที่นี่

ขณะนี้ด้วยทางลัดที่ซ้ำกันน้อยลงใน fedora29 ทางลัด vscode ทั้งหมดสำหรับ linuxจะต้องทำงานได้ดี


0

ใน Visual Studio รุ่นสุดท้ายของฉันรหัส 1.30.2 มันจะเปลี่ยนเป็นอัตโนมัติ


ctrl + D


ใน vscode นี้จะเน้นคำที่อยู่ใต้เคอร์เซอร์ บางที Notepad ++ จะใช้ทางลัด ctrl + D แค่ไปจากความทรงจำ
แมวแบน

0

สำหรับผู้ใช้ลีนุกซ์: ฉันสังเกตุว่ามีอะไรในลีนุกซ์คุณจำเป็นต้องใช้winรหัสบ่อยๆ สำหรับคอมโบ Windows คือ:
ctrl+ shift + alt+up

จากนั้นสำหรับ Linux ก็เหมือนกันเพียงแค่เพิ่มwinคีย์:
ctrl+ shift + win+ alt+up

ฉันสังเกตเห็นว่าในคอมโบไม่กี่ตอนนี้ Say ctrl+ alt + Lล็อค Linux แต่ctrl+ win + alt+ Lสำหรับโค้ดฟอร์แมต Intellij ภายใต้ Windows เพียงctrl+ alt + Lเพื่อจัดรูปแบบรหัส


0

เพียงไปที่ไฟล์ -> preferences -> แป้นพิมพ์ลัดที่นั่นคุณสามารถเปลี่ยนทางลัดที่คุณต้องการ ค้นหาสิ่งที่ซ้ำกันและเปลี่ยนเป็นสิ่งที่คุณมักจะใช้ในบรรณาธิการอื่น ๆ ฉันเปลี่ยนเป็น ctrl + D

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