สลับโฟกัสระหว่างตัวแก้ไขและเทอร์มินัลรวมใน Visual Studio Code


512

ไม่มีใครรู้ว่าแป้นพิมพ์ลัด (Mac และ Linux) เพื่อสลับโฟกัสระหว่างตัวแก้ไขและเทอร์มินัลรวมใน Visual Studio Code หรือไม่


26
ctrl + '`' จะดีที่สุด#-> Linux
muthukumar helius

14
ctrl + '' 'ยังทำงานบน OS X ได้โดยไม่ต้องผูกคีย์เพิ่มเติมใด ๆ
nataliastanko

2
ctrl+ '' 'ทำงานได้กับ Windows อย่างไม่มีที่ติ!
Ehtesham Z

คำตอบ:


982

ในขณะที่มีการสลับคำกริยาและทางลัดการนำทางจำนวนมากสำหรับ VS Code แต่ก็ไม่ได้มีเฉพาะสำหรับ "ย้ายจากตัวแก้ไขไปยังเทอร์มินัลและกลับมาอีกครั้ง" แต่คุณสามารถเขียนทั้งสองขั้นตอนโดยมากไปkeyและการใช้ประโยคwhen

เปิด keybindings.json จากเอดิเตอร์: CMD-SHIFT-P -> การกำหนดค่าตามความชอบ: เปิดไฟล์ช็อตคัตคีย์บอร์ดและเพิ่มรายการเหล่านี้:

// Toggle between terminal and editor focus
{ "key": "ctrl+`", "command": "workbench.action.terminal.focus"},
{ "key": "ctrl+`", "command": "workbench.action.focusActiveEditorGroup", "when": "terminalFocus"}

ด้วยทางลัดเหล่านี้ฉันจะเน้นระหว่างตัวแก้ไขและ Integrated Terminal โดยใช้การกดแป้นเดียว


20
ในตอนนี้นี่เป็นคำตอบที่ดีที่สุดในฐานะที่เป็นทางออกที่ถูกต้องตามหลักสรีรศาสตร์มากที่สุดนั่นคือการขยายการเชื่อมโยงคีย์ที่มีอยู่ รุ่งโรจน์!
mloskot

7
ขอบคุณมันใช้งานได้ดีและประหยัดเวลาได้มาก สำหรับผู้ใช้ของแป้นพิมพ์ระหว่างประเทศสามารถระบุได้ว่าเป็น"ctrl+`" "ctrl+oem_3"
esel

7
@Roman 1.18.0 พฤติกรรมของการปรับปรุงอย่างแน่นอนตั้งแต่เมื่อฉันเขียนคำตอบของฉัน แต่ฉันคิดว่าข้างต้นยังคงดีกว่า ความแตกต่างคือเทอร์มินัลจะไม่หายไปเมื่อใช้การกดแป้นเพียงโฟกัสเท่านั้นที่จะเปลี่ยน ฉันชอบทำให้หน้าจอแสดงผลของฉัน :)
wgj

37
โปรดทราบว่าควรวางทางลัดเหล่านี้ไปยังkeybindings.jsonไฟล์
pseudomarvin

41
เปิด keybindings.json จากบรรณาธิการ: ->CMD-SHIFT-P Preferences: Open Keyboard Shortcuts Fileยังเป็นแหล่งข้อมูลที่ดี: code.visualstudio.com/docs/getstarted/keybindings
derFunk

173

ctrl+` : เพื่อมุ่งเน้นไปที่ Terminal รวม

ctrl+1 : To Focus on Editor (หากคำสั่ง editor-2 เป็นctrl+ 2)

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

ข้อมูลเพิ่มเติม: http://www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html


4
ที่ใดที่ `อยู่บนแป้นพิมพ์🙄
Ewoks

6
ด้านล่างของรหัส esc :)
Rahul Shukla

5
ขอบคุณ. Ctrl + 1 คือสิ่งที่ฉันต้องการเช่นในบางกรณี ctrl + `จะเปิดเทอร์มินัลภายนอกและไม่สามารถใช้มันอีกครั้งเพื่อกลับมาที่ตัวแก้ไข VSCode
Thang Nguyen

2
คำตอบที่ง่ายและแม่นยำที่สุด
โทมัส

3
Control + '~' จะทำงานสำหรับการสลับระหว่างสอง ฉันใช้มาระยะหนึ่งแล้ว
Surender เพื่อน


54

สายไปนิดหน่อยกับเกม แต่ฉันกำหนดค่าของฉันดังต่อไปนี้ในkeybindings.json:

{
    "key": "ctrl+`",
    "command": "workbench.action.terminal.focus",
    "when": "editorTextFocus"
},
{
    "key": "ctrl+`",
    "command": "workbench.action.focusActiveEditorGroup",
    "when": "terminalFocus"
},
{
    "key": "alt+`",
    "command": "workbench.action.terminal.toggleTerminal"
}

ฉันต้องการปุ่มแยกสำหรับเปิด / ปิดเทอร์มินัลและสลับโฟกัสไปมาระหว่างหน้าต่าง


4
การทำแผนที่alt+`ดูเหมือนจะเป็นรถ - ติดตามได้ที่github.com/Microsoft/vscode/issues/41024#issuecomment-363096692
Ben Creasy

2
ฉันพบว่าaltกดได้ง่ายกว่าctrlดังนั้นในการกำหนดค่าของฉัน
xji

นี่เป็นข้อเสนอที่ยอดเยี่ยมถึงแม้ว่าฉันเลือกที่จะเก็บการเชื่อมเดิมไว้และใช้altเพื่อเปลี่ยนโฟกัส
นาย

@ BenCreasy สำหรับ macOS บน Windows ใช้งานได้ดี
Kotauskas

24

ในฐานะของเวอร์ชัน: 1.26.1 (linux) ทางลัดไม่ได้ถูกตั้งค่าไว้ตามค่าเริ่มต้น เพื่อตั้งค่าทางลัด

  1. แผงแป้นพิมพ์ลัดเปิด [ctrl + k, ctrl + s]
  2. ค้นหาเทอร์มินัลโฟกัส

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

  1. ตั้งค่าทางลัดของคุณ

สำหรับการแก้ไขโฟกัสถูกตั้งค่าไว้แล้วตามค่าเริ่มต้น

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


เนื่องจากมีการจับคู่แป้นพิมพ์เพิ่มเติมคำตอบนี้ง่ายและเร็วขึ้น
LookAheadAtYourTypes

สิ่งนี้จะเน้นกลุ่มบรรณาธิการแรก - อาจไม่ใช่สิ่งที่ OP ต้องการ อาจต้องการกลุ่มตัวแก้ไขปัจจุบัน / ที่ใช้งานอยู่
ทำเครื่องหมาย

1
นี่คือคำตอบสำหรับปี 2020 และทุกอย่าง> = 1.45.0
chrismarx

ยิ่งใหญ่ ขอบคุณสำหรับความชัดเจนที่นี่
Fiddy Bux

18

ฉันกำหนดค่าของฉันดังต่อไปนี้เนื่องจากฉันพบว่าctrl+ `กดยาก

{
  "key": "ctrl+k",
  "command": "workbench.action.focusActiveEditorGroup",
  "when": "terminalFocus"
},
{
  "key": "ctrl+j",
  "command": "workbench.action.terminal.focus",
  "when": "!terminalFocus"
}

ฉันยังกำหนดค่าต่อไปนี้เพื่อย้ายระหว่างกลุ่มบรรณาธิการ

{
  "key": "ctrl+h",
  "command": "workbench.action.focusPreviousGroup",
  "when": "!terminalFocus"
},
{
  "key": "ctrl+l",
  "command": "workbench.action.focusNextGroup",
  "when": "!terminalFocus"
}

โดยวิธีการที่ผมกำหนดค่าCaps Lockไปctrlบน Mac System Preferences => keyboard =>Modifier Keysจาก


8

การโยงคีย์ดีฟอลต์เพื่อสลับเทอร์มินัลรวมคือ "Ctrl +` "ตามหน้าเอกสารช็อตคัตคีย์บอร์ด vscode หากคุณไม่ชอบทางลัดนั้นคุณสามารถเปลี่ยนมันได้ในไฟล์ keybindings ของคุณโดยการเพิ่มสิ่งที่คล้ายกับ:

{ "key": "ctrl+l", "command": "workbench.action.terminal.toggleTerminal" }

ดูเหมือนว่าจะไม่ได้เป็นปุ่มลัดเริ่มต้นสำหรับเพียงมุ่งเน้นแผงด้านล่าง ดังนั้นหากคุณไม่ต้องการสลับพาเนลด้านล่างคุณจะต้องเพิ่มสิ่งที่คล้ายกับสิ่งต่อไปนี้ในไฟล์ keybindings ของคุณ:

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }

สมบูรณ์แบบขอบคุณ! ฉันกำลังมองหาคำตอบที่สองที่คุณพูดถึง หากใครสงสัยเกี่ยวกับแป้นพิมพ์ลัดเพื่อนำโฟกัสกลับไปที่เอดิเตอร์นั่นคือ: Command + 1 (สำหรับ Mac)
Abhijeet

ฉันคิดว่าfocusPanelสำหรับภูมิภาคทั่วไป (รวมถึงสิ่งต่าง ๆ เช่น "ปัญหา", "เอาท์พุท" และ "Debug Console" นอกจากนี้ยังมีการดำเนินการเฉพาะสำหรับ Integrated Terminal workbench.action.terminal.focusด้วย
wgj

8

ลองใช้ctrl + `เพื่อสลับการมองเห็นของเครื่องและเป็นผลให้สลับโฟกัส


3

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

หากมีคนต้องการเปลี่ยนจากเทอร์มินัลหนึ่งเป็นเทอร์มินัลอื่นก็เปิดในแผงรวมของ Visual Studio คุณสามารถค้นหา:

Terminal: Focus Next Terminal

หรือเพิ่มทางลัดแป้นต่อไปนี้และทำได้เร็วขึ้นด้วยการรวมแป้นพิมพ์

  {
    "key": "alt+cmd+right",
    "command": "workbench.action.terminal.focusNext",
    "when": "terminalFocus"
  },
  {
    "key": "alt+cmd+left",
    "command": "workbench.action.terminal.focusPrevious",
    "when": "terminalFocus"
  },

ฉันหวังว่ามันจะช่วยคนอื่น


3

คำตอบโดย Shubham Jain เป็นตัวเลือกที่ดีที่สุดในขณะนี้โดยใช้แป้นพิมพ์ลัด inbuilt

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

ถึงCtrl+;

และทำการแมปใหม่ ป้อนคำอธิบายรูปภาพที่นี่

ถึงCtrl+L

วิธีนี้คุณสามารถย้ายโฟกัสระหว่างเทอร์มินัลและเอดิเตอร์และสลับเทอร์มินัลทั้งหมดในระยะใกล้


วิธีนี้แก้ไขได้สำหรับฉัน! แป้นพิมพ์ลัด -> เทอร์มินัล: โฟกัสเทอร์มินัล ( workbench.action.terminal.focus ) -> เปลี่ยนการเชื่อมโยงคีย์เป็นชุดค่าผสมที่ต้องการ ทำงานบน vscode Insiders 1.43.0
jeppoo1

2

โดยทั่วไปแล้วรหัส vs ใช้ctrl+jเปิดเทอร์มินัลดังนั้นฉันจึงสร้างปุ่มลัดเพื่อสลับกับctrl+kชุดค่าผสมเช่นด้านล่างที่keybindings.json:

[    
    {
        "key": "ctrl+k",
        "command": "workbench.action.terminal.focus"
    },
    {
        "key": "ctrl+k",
        "command": "workbench.action.focusActiveEditorGroup",
        "when": "terminalFocus"
    }
]

0

WINDOWS WINDOWS SOLUTION สำหรับเค้าโครงแป้นพิมพ์ใด ๆ (อาจใช้ได้กับระบบปฏิบัติการอื่น แต่ไม่ผ่านการทดสอบ)

ฉันใช้แป้นพิมพ์ภาษาฟินแลนด์ดังนั้นจึงไม่ได้ผลใด ๆ ข้างต้น แต่สิ่งนี้ควรใช้กับแป้นพิมพ์ทั้งหมด

  • เทอร์มิโฟกัส: เลื่อนเมาส์ของคุณผ่านข้อความขั้วใน terminal ช็อตคัทสำหรับการโฟกัสที่เทอร์มินัลจะปรากฏขึ้น - อย่างเช่น CTRL + ö
  • ตัวแก้ไขโฟกัส: ดังกล่าวข้างต้นใช้ CTRL + 1

-1

ฉันทำสิ่งนี้โดยไปที่การตั้งค่า> แป้นพิมพ์ลัดจากนั้นในส่วนที่ให้ขั้วการค้นหาประเภทของแถบค้นหาและเลือกตัวเลือก มันจะขอให้พิมพ์ชุดค่าผสมที่คุณต้องการตั้งค่าสำหรับการกระทำนี้ ทำมัน. สำหรับประเภทโฟกัสบรรณาธิการ "โฟกัสบรรณาธิการ" ในแถบค้นหาและพิมพ์คีย์ที่คุณต้องการ หากคุณเพิ่มคีย์อย่างดีเยี่ยม สามารถลบออกได้โดยไปที่การแก้ไข jason ดังที่ได้กล่าวไว้ในความคิดเห็นด้านบน


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