Beralih fokus antara editor dan terminal terintegrasi dalam Visual Studio Code

516

Adakah yang tahu pintasan keyboard (Mac dan Linux) untuk mengalihkan fokus antara editor dan terminal terintegrasi dalam Visual Studio Code?

Abhijeet
sumber
26
ctrl + '`' akan menjadi yang terbaik#-> Linux
muthukumar helius
14
ctrl + '`' juga berfungsi pada OS X tanpa ikatan kunci tambahan.
nataliastanko
2
ctrl+ '' 'bekerja dengan Windows dengan sempurna juga!
Ehtesham Z

Jawaban:

987

Walaupun ada banyak toggle modal dan pintasan navigasi untuk VS Code, tidak ada satu khusus untuk "pindah dari editor ke terminal, dan kembali lagi". Namun Anda dapat membuat dua langkah dengan membebani berlebih keydan menggunakan when klausa .

Buka keybindings.json dari editor: CMD-SHIFT-P -> Preferensi: Buka File Pintasan Keyboard dan tambahkan entri ini:

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

Dengan pintasan ini saya akan fokus antara editor dan Terminal Terpadu menggunakan keystroke yang sama.

wgj
sumber
21
Sejauh ini, ini adalah jawaban terbaik sebagai solusi paling ergonomis yang dibenarkan: memperluas pengikatan kunci yang ada. Pujian!
mloskot
7
Terima kasih, ini bekerja dengan baik dan menghemat banyak waktu. Untuk pengguna keyboard internasional: "ctrl+`"dapat ditentukan sebagai "ctrl+oem_3".
esel
7
Perilaku @Roman 1.18.0 tentu saja merupakan peningkatan sejak ketika saya menulis jawaban saya, tetapi saya pikir hal di atas masih lebih baik. Perbedaannya adalah terminal tidak akan hilang saat menggunakan keystroke, hanya fokus yang akan berubah. Saya kebetulan suka menjaga terminal saya tetap ditampilkan :)
wgj
38
Perhatikan bahwa pintasan ini harus ditempelkan ke keybindings.jsonfile.
pseudomarvin
42
Buka keybindings.json dari editor: CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File. Juga sumber yang bagus: code.visualstudio.com/docs/getstarted/keybindings
derFunk
174

ctrl+` : Untuk Fokus pada Terminal Terpadu

ctrl+1 : Untuk Fokus pada Editor (Jika perintah editor-2 adalah ctrl+ 2)

masukkan deskripsi gambar di sini

Info Lebih Lanjut: http://www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html

Rahul Shukla
sumber
5
di mana sih `pada keyboard apa saja 🙄
Ewoks
7
tepat di bawah tombol esc :)
Rahul Shukla
6
Terima kasih. Ctrl + 1 adalah yang saya butuhkan, seperti dalam beberapa kasus, ctrl + `akan membuka terminal eksternal dan tidak dapat menggunakannya lagi untuk kembali ke editor VSCode
Thang Nguyen
2
imho jawaban yang paling sederhana dan paling akurat.
Tomas
3
Kontrol + '~' akan berfungsi untuk beralih di antara keduanya. Saya menggunakan dari beberapa waktu.
surender pal
75

Ctrl+ Jbekerja; tetapi juga menunjukkan / menyembunyikan konsol.

joshua wray
sumber
8
Cmd + J pada MacOS.
Miscreant
2
Jawaban paling sederhana namun berfungsi - harus diterima imho.
Karol Selak
Tidak bekerja di Ubuntu Linux 16.04 (Xenial) + VSC 1.45.0
Aldo Bassanini
55

Sedikit terlambat ke permainan tetapi saya mengkonfigurasi milik saya sebagai berikut di 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"
}

Saya ingin kunci terpisah untuk membuka / menutup terminal dan mengalihkan fokus bolak-balik antara jendela.

schmudu
sumber
4
Pemetaan alt+`tampaknya buggy - dilacak di github.com/Microsoft/vscode/issues/41024#issuecomment-363096692
Ben Creasy
2
Saya menemukan altlebih mudah untuk menekan daripada ctrl, jadi dalam konfigurasi saya itu sebaliknya.
xji
Ini adalah proposal yang bagus, meskipun saya memilih untuk menjaga binding asli dan menggunakan altuntuk beralih fokus.
Tn. Duhart
@ BenCreasy Itu hanya untuk macOS, pada Windows ini berfungsi dengan baik.
Kotauskas
24

Pada versi: 1.26.1 (linux), pintasan tidak diatur secara default. Untuk mengatur pintasan

  1. buka panel pintasan keyboard [ctrl + k, ctrl + s]
  2. Cari Terminal Fokus

masukkan deskripsi gambar di sini

  1. Atur pintasan Anda

Untuk fokus editor sudah diatur secara default.

masukkan deskripsi gambar di sini

Shubham Jain
sumber
Karena mereka menyediakan pemetaan keyboard tambahan, jawaban ini lebih sederhana dan lebih cepat
LookAheadAtYourTypes
Ini memfokuskan grup editor pertama - mungkin bukan yang diinginkan OP. Mungkin menginginkan grup editor saat ini / aktif.
Tandai
1
Ini adalah jawaban untuk tahun 2020 dan apa> = 1.45.0
chrismarx
Bagus. Terima kasih atas kejelasannya di sini.
Fiddy Bux
18

Saya mengkonfigurasi milik saya sebagai berikut karena saya menemukan ctrl+ `agak sulit untuk ditekan.

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

Saya juga mengkonfigurasi yang berikut untuk berpindah di antara grup editor.

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

By the way, saya dikonfigurasi Caps Lockuntuk ctrldi Mac dari System Preferences => keyboard =>Modifier Keys.

Sam Xu
sumber
8

Pengikat tombol default untuk beralih ke terminal terintegrasi adalah "Ctrl +` "menurut halaman dokumentasi pintasan keyboard vscode . Jika Anda tidak menyukai pintasan itu, Anda dapat mengubahnya di file keybindings Anda dengan menambahkan sesuatu yang mirip dengan:

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

Tampaknya tidak ada pengikatan kunci default untuk hanya memfokuskan panel bawah. Jadi, jika Anda tidak ingin beralih panel bawah, Anda perlu menambahkan sesuatu yang mirip dengan berikut ini ke file keybindings Anda:

{ "key": "ctrl+t", "command": "workbench.action.focusPanel" }
alexriedl
sumber
Sempurna, terima kasih! Saya mencari jawaban kedua yang Anda sebutkan. Jika ada yang bertanya-tanya tentang pintasan keyboard untuk mengembalikan fokus ke editor maka itu adalah: Command + 1 (di Mac)
Abhijeet
Saya pikir focusPanelini untuk wilayah umum (termasuk hal-hal seperti "Masalah", "Keluaran" dan "Konsol Debug". Ada juga tindakan khusus untuk Terminal Terpadu workbench.action.terminal.focus.
wgj
8

Coba gunakan ctrl + ` untuk mengubah visibilitas terminal dan sebagai hasilnya beralih fokus.

Gaurav Grover
sumber
3

Tidak persis apa yang diminta, tetapi saya merasa sangat bermanfaat dan terkait.

Jika seseorang ingin mengubah dari satu terminal ke terminal lain juga terbuka di panel terminal terintegrasi Visual Studio, Anda dapat mencari:

Terminal: Focus Next Terminal

Atau tambahkan pintasan tombol berikut dan lakukan lebih cepat dengan kombinasi keyboard.

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

Saya harap ini membantu orang lain.

robertovg
sumber
3

Jawaban oleh Shubham Jain adalah pilihan terbaik sekarang menggunakan pintasan keyboard bawaan.

Saya memetakan masukkan deskripsi gambar di sini

ke Ctrl+;

dan dipetakan kembali masukkan deskripsi gambar di sini

ke Ctrl+L

Dengan cara ini Anda dapat memindahkan fokus antara terminal dan editor, dan beralih terminal semua dalam jarak dekat.

Jim
sumber
Ini menyelesaikannya untuk saya! Pintasan keyboard -> Terminal: Terminal Fokus ( workbench.action.terminal.focus ) -> mengubah Keybinding ke kombinasi yang saya inginkan. Berjalan di vscode Insiders 1.43.0
jeppoo1
2

Secara umum, kode vs digunakan ctrl+juntuk membuka Terminal jadi saya membuat keybinding untuk beralih dengan ctrl+kkombinasi, seperti di bawah ini di keybindings.json:

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

SOLUSI WINDOWS SEDERHANA UNTUK SETIAP LAYOUT KEYBOARD (dapat bekerja untuk OS lain tetapi tidak diuji)

Saya menggunakan keyboard Finlandia sehingga tidak ada yang di atas berfungsi tetapi ini harus bekerja untuk semua keyboard.

  • Terminal fokus: Arahkan mouse Anda di atas teks terminal di terminal terintegrasi . Jalan pintas untuk fokus pada terminal akan muncul - milik saya misalnya kata CTRL + ö.
  • Fokus editor: seperti yang disebutkan di atas, gunakan CTRL + 1.
JStrahl
sumber
-1

Saya melakukan ini dengan pergi ke pengaturan> Keyboard Shortcuts kemudian di bagian mana ia memberikan terminal fokus jenis bar pencarian dan pilih opsi. Ini akan meminta untuk mengetik kombinasi yang ingin Anda atur untuk tindakan ini. Lakukan. Adapun fokus editor, ketik "fokus editor" di bilah pencarian dan ketik kunci yang Anda inginkan. JIKA Anda menambahkan kunci dengan sangat baik. itu dapat dihapus dengan pergi mengedit jason seperti disebutkan dalam komentar di atas

Mahad Ali
sumber
-1

control + '~' akan bekerja untuk beralih di antara keduanya. dan ' ` ' tepat di atas tombol tab.

surender sobat
sumber