Odağı Visual Studio Code'da düzenleyici ve tümleşik terminal arasında değiştirme


512

Herkes odak Visual Studio kodu düzenleyici ve tümleşik terminal arasında geçiş yapmak için klavye kısayol (Mac ve Linux) biliyor mu?


26
ctrl + '' 'en iyisi olacak#-> Linux
muthukumar helius

14
ctrl + '' ', herhangi bir ek anahtar bağlama olmadan OS X üzerinde de çalışır.
nataliastanko

2
ctrl+ '' 'Windows ile de kusursuz çalışır!
Ehtesham Z

Yanıtlar:


982

VS Kodu için çok sayıda modal geçiş ve gezinme kısayolu olsa da, özellikle "editörden terminale geçip tekrar geri" için bir tane yoktur. Ancak key, when maddeyi aşırı yükleyip kullanarak iki adımı oluşturabilirsiniz .

Keybindings.json'u editörden açın: CMD-SHIFT-P -> Tercihler: Klavye Kısayolları Dosyasını açın ve şu girişleri ekleyin:

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

Bu kısayollarla aynı tuş vuruşunu kullanarak editör ve Entegre Terminal arasında odaklanacağım.


20
Şimdiye kadar, bu en ergonomik olarak haklı çözüm olarak en iyi cevaptır: mevcut anahtar bağlamayı genişletmek. Kudos!
mloskot

7
Teşekkürler, bu iyi çalıştı ve çok zaman kazandırır. Uluslararası klavye kullanıcıları için: "ctrl+`"olarak belirtilebilir "ctrl+oem_3".
esel

7
@Roman 1.18.0'ın davranışı, cevabımı yazdığımdan beri kesinlikle bir gelişme, ancak yukarıdakilerin hala daha iyi olduğunu düşünüyorum. Aradaki fark tuş vuruşu kullanılırken terminalin kaybolmayacağı, sadece odak kayması olacak. Terminalimi göstermeye devam ediyorum :)
wgj

37
Bu kısayolların keybindings.jsondosyaya yapıştırılması gerektiğini unutmayın .
pseudomarvin

41
Editörden keybindings.json dosyasını açın: CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File. Ayrıca güzel bir kaynak: code.visualstudio.com/docs/getstarted/keybindings
derFunk

173

ctrl+` : Entegre Terminale Odaklanmak

ctrl+1 : Editöre Odaklanmak (editor-2 komutu ctrl+ olsaydı 2)

resim açıklamasını buraya girin

Daha Fazla Bilgi: http://www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html


4
burada cehennem `` herhangi bir klavyede 🙄
Ewoks

6
esc anahtarının hemen altında :)
Rahul Shukla

5
Teşekkür ederim. Ctrl + 1 ihtiyacım olan şey, bazı durumlarda ctrl + `harici terminal açacak ve bunu VSCode editörüne geri dönüş için kullanamaz
Thang Nguyen

2
en basit ve en doğru cevap imho.
Tomas

3
Control + '~' ikisi arasında geçiş yapmak için çalışır. Bir süredir kullanıyorum.
surender pal


54

Oyuna biraz geç kaldım ama benimkini aşağıdaki gibi yapılandırdım 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"
}

Terminali açmak / kapatmak ve pencereler arasında odağı ileri geri değiştirmek için ayrı anahtarlar istedim.



2
Basmaktan altdaha kolay buldum ctrl, bu yüzden yapılandırmamda başka bir yol var.
xji

Orijinal bağları korumayı ve altodağı değiştirmek için kullanmayı seçmiş olmama rağmen bu harika bir teklif .
Bay Duhart

@BenCreasy Bu sadece macOS için, Windows'ta bu iyi çalışıyor.
Kotauskas

24

Sürüm itibariyle: 1.26.1 (linux), kısayol varsayılan olarak ayarlanmamıştır. Kısayolu ayarlamak için

  1. klavye kısayolları panelini aç [ctrl + k, ctrl + s]
  2. Odak Terminali Ara

resim açıklamasını buraya girin

  1. Kısayolunuzu ayarlayın

Düzenleyici odağı için varsayılan olarak önceden ayarlanmıştır.

resim açıklamasını buraya girin


Ek klavye eşlemeleri sağladıkları için, bu cevap daha basit ve daha hızlı
LookAheadAtYourTypes

Bu ilk editör grubuna odaklanır - OP'nin istediği şey olmayabilir. Muhtemelen mevcut / aktif editör grubunu istiyor.
Mark

1
Bu 2020'nin cevabı ve her şey> = 1.45.0
chrismarx

Harika. Buradaki netlik için teşekkür ederim.
Fiddy Bux

18

ctrl+ `'Yı biraz zor bulduğum için benimkini aşağıdaki gibi yapılandırdım .

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

Ayrıca aşağıdakileri editör grubu arasında hareket edecek şekilde yapılandırdım.

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

Bu arada, yapılandırılmış Caps Lockiçin ctrlgelen Mac System Preferences => keyboard =>Modifier Keys.


8

Entegre terminali arasında geçiş yapmak için varsayılan tuş bağlama, vscode klavye kısayolları dokümantasyon sayfasına göre "Ctrl +` "dir . Bu kısayolu beğenmediyseniz, aşağıdakilere benzer bir şey ekleyerek tuş bağlama dosyanızda değiştirebilirsiniz:

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

Sadece alt panele odaklanmak için varsayılan bir tuş bağlantısı yok gibi görünüyor. Bu nedenle, alt paneli değiştirmek istemiyorsanız, tuş bağlama dosyanıza aşağıdakine benzer bir şey eklemeniz gerekir:

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

Mükemmel teşekkürler! Bahsettiğiniz ikinci cevabı arıyorum. Odak düzenleyiciye geri koymak için klavye kısayolunu merak eden varsa: Command + 1 (Mac'te)
Abhijeet

focusPanelGenel bölge için olduğunu düşünüyorum ("Sorunlar", "Çıktı" ve "Hata Ayıklama Konsolu" gibi şeyler dahil. Ayrıca özellikle Entegre Terminali için bir eylem var workbench.action.terminal.focus.
wgj

8

Terminalin görünürlüğünü değiştirmek ve sonuç olarak odağı değiştirmek için ctrl + `tuşlarını kullanmayı deneyin .


3

Tam olarak sorulan şey değil, ama çok yararlı ve ilgili buldum.

Birisi Visual Studio'nun tümleşik terminal panelinde de açık olan bir terminalden başka bir terminale geçmek isterse aşağıdakileri arayabilirsiniz:

Terminal: Focus Next Terminal

Veya aşağıdaki tuş kısayolunu ekleyin ve klavye kombinasyonu ile daha hızlı yapın.

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

Umarım başka birine yardımcı olur.


3

Shubham Jain'in cevabı, şimdi dahili klavye kısayollarını kullanarak en iyi seçenektir.

Haritalandırdım resim açıklamasını buraya girin

için Ctrl+;

ve yeniden eşleştirildi resim açıklamasını buraya girin

için Ctrl+L

Bu şekilde, odağı terminal ve editör arasında taşıyabilir ve terminalin tümünü yakın bir şekilde değiştirebilirsiniz.


Bu benim için çözdü! Klavye kısayolları -> Terminal: Odak Terminali ( workbench.action.terminal.focus ) -> Tuş Bağlama'yı istediğim kombinasyon olarak değiştirdi. Vscode Insiders üzerinde çalışıyor 1.43.0
jeppoo1

2

Genellikle, vs kodu ctrl+jTerminal açmak için kullanır , bu yüzden ctrl+kaşağıdaki gibi kombinasyonu ile geçiş yapmak için bir anahtar bağlama oluşturdum keybindings.json:

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

0

HERHANGİ BİR KLAVYE DÜZENİ İÇİN BASİT PENCERE ÇÖZÜMÜ (diğer işletim sistemlerinde çalışabilir ancak test edilmez)

Fin klavyesi kullanıyorum, bu yüzden yukarıdakilerin hiçbiri işe yaramadı, ancak bu tüm klavyeler için çalışmalıdır.

  • Terminal odağı: Farenizi entegre terminaldeki terminal metninin üzerine getirin . Terminale odaklanma kısayolu açılır - örneğin söz konusu CTRL + ö.
  • Editör odağı: yukarıda belirtildiği gibi CTRL + 1 kullanın.

-1

Bunu> Klavye Kısayolları ayarına gidip arama çubuğu türü odak terminali verdiği bölümde seçerek seçeneği belirledim. Bu işlem için ayarlamak istediğiniz kombinasyonu yazmanız istenir. Yap. Editör odaklama için arama çubuğuna "editör odaklama" yazın ve istediğiniz anahtarı yazın. EĞER mükemmel bir anahtar eklerseniz. yukarıdaki yorumlarda belirtildiği gibi jason'u düzenleyerek kaldırılabilir


-1

control + '~' ikisi arasında geçiş yapmak için çalışır. ve ' ' 'sekme düğmesinin hemen üstündedir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.