มีปุ่มลัดเพื่อสลับระหว่างบานหน้าต่างแยกหรือไม่


202

Visual Studio Code มีปุ่มลัดเพื่อแยกหน้าต่างปัจจุบันเป็นบานหน้าต่าง 2 หรือ 3 บาน:

"key": "ctrl + \",               "command": "workbench.action.splitEditor"

น่าเสียดายที่ฉันไม่สามารถหาวิธีสลับระหว่างบานหน้าต่างดังกล่าวได้หากไม่มีเมาส์ นิสัยเก่าที่ฉันใช้F6ไม่ได้ผล

รองรับ Visual Studio Code editor หรือไม่?


จะเป็นอย่างไรถ้าฉันต้องการแบ่งบานหน้าต่าง แต่ฉันต้องการให้บานหน้าต่าง / ลงด้านล่างมากกว่าด้านข้าง?
Charlie Parker

คำตอบ:


248

https://code.visualstudio.com/docs/customization/keybindings#_editorwindow-management

สำหรับ Windows: Ctrl+ 1, Ctrl+ 2และ+Ctrl3

สำหรับ Mac: Cmd+ 1, Cmd+ 2และ+Cmd3

ไม่มีการสลับแบบวงกลมระหว่างบานหน้าต่างคล้ายกับสิ่งที่Ctrl+ tabs ทำกับไฟล์


17
จริงๆแล้วมีการเชื่อมโยงคีย์เพื่อวนผ่านการเปิดไฟล์ อ้างอิงจากบทความนี้มันเป็น "CMD + SHIFT + [" และ "CMD + SHIFT +]"
simonxy

1
ปุ่มทำงานบนแท็บ Chrome ด้วยเช่นกันโดยที่ฉันบังเอิญค้นพบ
jokab

3
หมายเหตุ: สำหรับ Mac Ctrl ไม่ทำงาน กุญแจแทน Ctrl คือ Cmd
user3245268

ทำไมคุณถึงใช้ ctrl + 1 ถ้ามี "CMD + SHIFT + [" และ "CMD + SHIFT +]" อยู่?
Charlie Parker

Ctrl + Shift + [ / ]ดูเหมือนว่าจะถูกแมปกับการพับโค้ดและแฉในเวอร์ชันของฉัน (1.46) ฉันไม่เคยเปลี่ยนค่าเริ่มต้นนี่หมายความว่าพวกเขาเปลี่ยนค่าเริ่มต้นหรือไม่
shahensha

210

หากคุณคุ้นเคยกับการทำงานเป็นกลุ่ม (และ / หรือ tmux) และต้องการย้ายไปมาด้วย ctrl+hjkl

เพิ่มไปยัง keybindings.json

[
    {
        "key": "ctrl+h",
        "command": "workbench.action.navigateLeft"
    },
    {
        "key": "ctrl+l",
        "command": "workbench.action.navigateRight"
    },
    {
        "key": "ctrl+k",
        "command": "workbench.action.navigateUp"
    },
    {
        "key": "ctrl+j",
        "command": "workbench.action.navigateDown"
    }
]

22
ไม่สามารถลงคะแนนได้เพียงพอ ขอบคุณ !! นี่คือสิ่งที่ฉันกำลังมองหา
dojosto

9
ยกระดับผู้ชายคนนี้
jaydel

2
ขอบคุณสำหรับสิ่งนี้. ฉันค้นหาโดยใช้การโยงคีย์โดยไม่มีโชค ดูเหมือนว่าคำว่า "โฟกัส" และ "นำทาง" ไม่ได้ใช้อย่างสม่ำเสมอ
xthrd

5
ขอบคุณสำหรับสิ่งนี้! ในกรณีที่มันช่วยทุกคนฉันเพิ่งค้นพบว่าการแบ่งCtrl+ xเสร็จสมบูรณ์ของสายVsCodeVim (อาจเหนือสิ่งอื่นใด) ดังนั้นมันจึงมีเหตุผลที่จะปิดการใช้งานทางลัดเหล่านี้ในโหมดแทรก:"when": "vim.mode != 'Insert'"
c24w

13
ในกรณีที่คุณกำลังพยายามหาวิธีแก้ไขจริงkeybindings.json- ดูเอกสารที่เป็นประโยชน์ที่นี่: code.visualstudio.com/docs/getstarted/ …
mgarabed

75

ใช้ F6 เพื่อสลับระหว่างกลุ่มผู้แก้ไข

มีการสลับเป็นวงกลมระหว่างบานหน้าต่าง มันเรียกว่า "วงรอบระหว่างกลุ่มเครื่องมือแก้ไข"

ออกจากกล่องมันไม่ได้กำหนด F6เราสามารถกำหนดให้

  1. เปิดรหัส Visual Studio
  2. ไปที่ไฟล์> ค่ากำหนด> แป้นพิมพ์ลัด
  3. keybindings.jsonเพิ่มรายการต่อไปนี้
  4. คุณไม่ต้องรีสตาร์ทรหัส มันใช้งานได้แล้ว

keybindings.json

// Place your key bindings in this file to overwrite the defaults
[
    {
        "key": "f6", 
        "command": "workbench.action.navigateEditorGroups" 
    }
]

อีกทางเลือกหนึ่ง

หรือใช้ปุ่มลัดการจัดการหน้าต่างนอกกรอบ

  • Ctrl+ 1มุ่งเน้นไปที่กลุ่มเครื่องมือแก้ไขด้านซ้าย
  • Ctrl+ 2มุ่งเน้นไปที่กลุ่มเครื่องมือแก้ไขด้านข้าง
  • Ctrl+ 3เน้นไปที่กลุ่มเครื่องมือแก้ไขด้านขวา
  • Ctrl+ K Ctrl+ Leftมุ่งเน้นไปที่กลุ่มบรรณาธิการด้านซ้าย
  • Ctrl+ K Ctrl+ Rightมุ่งเน้นไปที่กลุ่มบรรณาธิการด้านขวา

1
ว้าวขอบคุณมากฉันบังเอิญพบบางสิ่งที่ฉันกำลังมองหา Ctrl + K + ซ้าย (สังเกตไม่ต้อง Ctrl ด้านซ้าย) ทำมุมมอง: ย้ายกลุ่มตัวแก้ไขด้านซ้าย (workbench.action.moveActiveEditorGroupLeft) ขอบคุณ!
John Lee

นี่จริงตอบคำถามสำหรับฉัน คำตอบอื่น ๆ สำหรับวิธีการนำทางระหว่างไฟล์ ขอบคุณ!
BCza

29

สำหรับผู้ใช้ Mac และรหัส VS 1.17 ล่าสุด:

  1. สลับไปมาระหว่างบานหน้าต่าง - Cmd+ [1,2,3...]ซึ่ง1,2,3เป็นหมายเลขบานหน้าต่าง
  2. หมุนเวียนระหว่างไฟล์ที่เปิดทั้งหมด:
    • ไปข้างหน้า - Cmd+Shift+]
    • ไปข้างหลัง - Cmd+Shift+[

1
โอ้พระเจ้าไม่มีวิธีที่จะแยกความแตกต่างระหว่างบานหน้าต่างและแท็บของเครื่องมือแก้ไขเมื่อขี่จักรยาน: |
duane

20

Alt+ และAlt+ ทำงานนอกกรอบบน Windows มันจะสลับระหว่างบานหน้าต่างหน้าจอแยกเท่านั้นและจะไม่เปิดใช้งานไฟล์ที่ไม่ได้ใช้งานภายในบานหน้าต่าง



7

สิ่งที่คุณกำลังมองหาคือตัวเลือกworkbench.action.terminal.focusNextPane:

{ 
  "key": "alt+down",
  "command": "workbench.action.terminal.focusNextPane",
  "when": "terminalFocus"
},
{ 
  "key": "alt+right",
  "command": "workbench.action.terminal.focusNextPane",
  "when": "terminalFocus"
},

ฉันคิดว่าทางลัดเหล่านั้นมีอยู่แล้วในเวอร์ชันที่ใหม่กว่าและยังมีfocusPreviousPaneตัวเลือก
ฟิลิปป์ Fanaro

ส่วนตัวผมไม่ได้ใช้สเปคก็จะทำให้การจัดการขั้วเร็วเพราะผมไม่ได้มีการเพิ่มทางลัดเช่น"when": "terminalFocus" Ctrl + `
ฟิลิปป์ Fanaro

การเพิ่ม {"key": "alt + up", "command": "workbench.action.focusActiveEditorGroup", "เมื่อ": "terminalFocus"} ไปที่alt+downและลบterminalFocusตามที่อธิบายโดย @PhilippeFanaro ทำให้มันสมบูรณ์แบบ;)
Matthis Kohli

ฉันไม่รู้เกี่ยวกับเวอร์ชันใหม่ แต่เครื่องมือแก้ไขของฉันไม่มีเขา การสลับบานหน้าต่างเป็นความเจ็บปวด : D ขอบคุณ
Rohan

รหัส VS ของฉันมีการตั้งค่าเหล่านี้ตามค่าเริ่มต้น แต่เมื่อฉันใช้พวกเขาเคอร์เซอร์จะย้ายไปยังบานหน้าต่างถัดไป แต่ทันทีที่ฉันปล่อยaltปุ่มโฟกัสจะหายไปและแถบเมนูจะได้รับการโฟกัสแทน (แถบที่มีไฟล์แก้ไข ไป ฯลฯ ฯลฯ ... ตัวเลือกด้านบนมาก)
Sushmit ซาก้า

3

ใช่มีฮ็อตคีย์เพื่อสลับระหว่างบานหน้าต่างแบ่ง "ตัวแก้ไข" ถ้านั่นคือสิ่งที่คุณหมายถึง

จะต้องมีการกำหนดค่าว่า นี่เป็นเพราะคำสั่งที่อนุญาตการหมุนเวียนผ่านบานหน้าต่างเอดิเตอร์ (กลุ่มเอดิเตอร์ aka) ไม่มีการแม็พ / การโยงคีย์บอร์ดดีฟอลต์ เปิดตัวเลือกเมนู "แป้นพิมพ์ลัด" และค้นหา workbench.action.navigateEditorGroups คลิกที่ไอคอน + เพื่อเพิ่ม / กำหนดการเชื่อมโยงคีย์ ฉันทำแผนที่กับ Alt + Q เพราะบนแป้นพิมพ์ qwerty 'q' อยู่ถัดจากปุ่ม Tab เมื่อพิจารณาว่า Alt + Tab ทำงานผ่านระบบปฏิบัติการ Windows ที่เปิดอยู่ดูเหมือนว่าเป็นเรื่องธรรมดา


3

แน่นอนคำตอบที่ดีที่สุดคือความคิดเห็นที่ซ่อนอยู่ในคำตอบด้านบน ไม่แน่ใจว่าทำไมไม่มีคำตอบ:

CMD + SHIFT + [

และ

CMD + SHIFT + ]

ฉันไม่แน่ใจว่าทำไมทุกคนจะใช้cmd + 1หรือตัวแปรของมัน


1
คุณต้องการใช้cmd + 1หรือเป็นสายพันธุ์อื่น ๆ ( 2, 3, 4ฯลฯ ) เพราะที่ว่าแท็บมากที่สุดในการทำงานการใช้งาน CMD + SHIFT + ]ปฏิบัติกับบานหน้าต่างทั้งหมดเหมือนแท็บพี่น้องในหน้าต่างเดียวกัน
germ1212

2

หากคุณหมายถึงกลุ่มบรรณาธิการนี่คือ

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


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