Visual Studio Codeでエディターと統合ターミナルの間でフォーカスを切り替える


513

Visual Studio Codeでエディターと統合ターミナルの間でフォーカスを切り替えるためのキーボードショートカット(MacおよびLinux)を知っている人はいますか?


26
ctrl + '`'がベストになります#-> Linux
muthukumar helius

14
ctrl + '`'は、追加のキーバインドなしでOS Xでも機能します。
nataliastanko

2
ctrl+ '`'はWindowsでも問題なく動作します。
Ehtesham Z

回答:


985

VS Codeには多くのモーダルトグルとナビゲーションショートカットがありますが、「エディターからターミナルに移動し、再び戻る」ための特別なものはありません。ただし、をオーバーロードkeyしてwhen を使用することで、2つのステップを構成できます。

エディターから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"}

これらのショートカットを使用して、同じキーストロークを使用してエディターと統合ターミナルの間でフォーカスします。


20
これまでのところ、これは最も人間工学的に正当化されたソリューションとしての最良の答えです。既存のキーバインディングを拡張することです。賞賛!
mloskot

7
おかげで、これはうまくいき、多くの時間を節約できました。国際キーボードのユーザーの場合:"ctrl+`"として指定できます"ctrl+oem_3"
esel、2017年

7
@Roman 1.18.0の動作は、回答を書いて以来、確かに改善されていますが、上記の方がより良いと思います。違いは、キーストロークを使用してもターミナルが消えず、フォーカスのみが移動することです。端末を表示したままにするのが好きです:)
wgj

37
これらのショートカットはkeybindings.jsonファイルに貼り付ける必要があることに注意してください。
pseudomarvin 2018年

41
エディターからkeybindings.jsonを開きます:CMD-SHIFT-P-> Preferences: Open Keyboard Shortcuts File。また、素晴らしいリソース:code.visualstudio.com/docs/getstarted/keybindings
derFunk

173

ctrl+`:統合端末に焦点を当てる

ctrl+1:エディターに焦点を合わせる(editor-2コマンドがctrl +の場合2

enter image description here

詳細:http : //www.rscoder.com/2020/04/how-to-switch-focus-between-editor-and.html


4
地獄はどこのキーボードでもwhere
Ewoks

6
escキーのすぐ下:)
Rahul Shukla

5
ありがとうございました。Ctrl + 1が必要です。場合によっては、ctrl + `で外部ターミナルが開き、それを再び使用してVSCodeエディターに戻ることができません
Thang Nguyen

2
シンプルで最も正確な答えは私見です。
Tomas

3
Control + '〜'は、2つの間の切り替えに機能します。かなり前から使っています。
サレンダーパル


55

ゲームに少し遅れましたが、私は次のように私のものを設定しました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 2018年

これは素晴らしい提案ですが、私は元のバインディングを維持し、altフォーカスを切り替えるために使用することを選択しました。
Duhart氏、

@BenCreasyこれはmacOS専用です。Windowsでは問題なく動作します。
コタウカス

24

バージョン:1.26.1(linux)以降、デフォルトではショートカットは設定されていません。ショートカットを設定するには

  1. キーボードショートカットパネルを開く[ctrl + k、ctrl + s]
  2. フォーカスターミナルを探す

ここに画像の説明を入力してください

  1. ショートカットを設定

エディターのフォーカスはデフォルトですでに設定されています。

ここに画像の説明を入力してください


追加のキーボードマッピングを提供しているため、この回答はよりシンプルで高速です
LookAheadAtYourTypes '24年

これは最初の編集者グループに焦点を当てています-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"
}

ちなみに、Macでから設定Caps LockctrlましたSystem Preferences => keyboard =>Modifier Keys


8

vscodeキーボードショートカットのドキュメントページによると、統合端末を切り替えるデフォルトのキーバインドは「Ctrl + `」です。そのショートカットが気に入らない場合は、次のようなものを追加して、キーバインディングファイルで変更できます。

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

単に下のパネルにフォーカスするためのデフォルトのキーバインドはないようです。したがって、下部パネルを切り替えたくない場合は、次のようなものをキーバインディングファイルに追加する必要があります。

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

パーフェクト、ありがとう!あなたが言及した2番目の答えを探しています。エディターにフォーカスを戻すためのキーボードショートカットについて不思議に思う人がいる場合は、コマンド+ 1(Macの場合)
Abhijeet

私は考えるfocusPanel(「問題」、「出力」と「デバッグコンソール」のようなものが含まれる一般的な地域のためにされたアクションが統合されたターミナルのために特別にもあります。workbench.action.terminal.focus
wgj


3

質問の内容は正確ではありませんが、非常に役立ち、関連していることがわかりました。

誰かが1つのターミナルから別のターミナルに変更したい場合は、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の答えは、組み込みのキーボードショートカットを使用する最良のオプションです。

マッピングしました ここに画像の説明を入力してください

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ソリューション(他のOSでは動作する可能性がありますが、テストされていません)

私はフィンランド語のキーボードを使用しているため、上記のどれも機能しませんでしたが、これはすべてのキーボードで機能するはずです。

  • 端末フォーカス:統合端末の端末テキストの上にマウスを置きます。端末に焦点を合わせるためのショートカットがポップアップします-私の例ではCTRL +öと言っています。
  • エディターのフォーカス:上記のように、CTRL + 1を使用します。

-1

これを行うには、[設定]> [キーボードショートカット]に移動し、検索バータイプのフォーカスターミナルを表示するセクションでオプションを選択します。このアクションに設定する組み合わせを入力するよう求められます。やれ。エディターフォーカスタイプについては、検索バーに「エディターフォーカス」と入力し、目的のキーを入力します。うまくキーを追加した場合。上記のコメントで述べたように、jasonを編集することで削除できます


-1

control + '〜'は、2つの間の切り替えに機能します。また、「`」はタブボタンのすぐ上にあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.