注目の記事

[待望のアップデート] VSCodeの内蔵ターミナルがエディタと同様に扱えるようになりました!

VSCodeの進化が止まりません
2021.07.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

TL;DR

まずはこいつをみてくれ。

左右に分割されたエディタウインドウに、テキストエディタとターミナルが並んでいるのがお分かりになられるでしょうか!!

なにそれ?

これは、先日リリースされた Version 1.58 (June 2021) に含まれる以下のアップデートによるものです。

Terminals in the editor area
Terminals can now be created in or moved to the editor area, enabling a multi-dimensional grid layout that persists and remains visible regardless of panel state.

これができれば、README.mdとターミナルの実行結果を左右で見比べたり、右上に小さくコマンドを定期実行させて結果を垂れ流したりといった、より柔軟にエディタとターミナルを混在させて配置させることが可能です。個人的に超待望の機能でした。

ちなみに従来通り、エディタ部と独立して下に表示させることもできるので、こちらが気に入っていた方も安心ですね。しかも元の表示方法にもすぐ切り替えることができる神仕様です。

開き方

いくつか方法があります。

  • 従来通りに開いた後エディタエリアへ移動させる (Context menu)
  • 従来通りに開いた後エディタエリアへ移動させる (Drag and Drop)
  • コマンド Create Terminal in Editor Area で開く
  • デフォルト操作を「エディタ部で開く」ように変更する

順にみていきましょう。

1. 従来通りに開いた後エディタエリアへ移動させる (Context menu)

従来通り開いた後、ターミナルのタブリストをクリック --> Move into Edit Areaを選択する方法です。
こうすると、ターミナルが移動し他のエディタタブと同列に並びますので、あとは好きに配置させることができるようになります。

2. 従来通りに開いた後エディタエリアへ移動させる (Drag and Drop)

上述 1. と同じところで、右クリックではなく、タブをそのままD&Dして任意の場所に持っていく方法です。
上と似ていますが、最初から好きな配置にできるところが素敵ですね。

3. コマンド Create Terminal in Editor Area で開く

コマンドパレットから上述のコマンドを実行することで、最初から(従来のターミナルパネルを経由することなく)開くことが可能です。
その場合は 1. と同様の場所、つまりエディタと同列(現在アクティブなグループ内)にターミナルタブが作成されることになります。

4. デフォルト操作を「エディタ部で開く」ように変更する

terminal.integrated.defaultLocation という新しい設定項目ができています。

リリースノートではこの辺りの記述ですね。

The new terminal.integrated.defaultLocation setting can be set to editor to direct newly created terminals to the editor area by default.

これの値を、規定のviewからeditorに変更することで、いつも通りの「新しいターミナルを開く」操作で、最初からエディタ部でターミナルを開くことが可能となります。この場合も 3. と同じ挙動になります。

戻し方

いくつかあるかも知れませんが、タブの上で右クリック --> Move Terminal into Panelを選択するのが楽だと思います。

なんか違うな。。と思われた方は、これで元通りの使い方ができます。お好きな方で!

まとめ

ただでさえ既に手放せない存在だったVisual Studio Codeなのですが、今回のアップデートでさらに使いやすくなって向かうとこ敵無しの最強エディタになりました(言い過ぎ)。

個人的には 2.の使い方が一番しっくり来そうなので、これで行きたいと思います。
3.の操作や 4.の設定も試してみたんですが、まずはエディタ全面でターミナルが開いてしまうので、かえって使いづらいと感じて戻してしまいました。皆さんも一番使いやすい方法を探してみてください!

余談

上記の設定を試そうとして、全く関係無い以下の設定を見つけてしまいました。どうやら前回( version 1.57 (May 2021) )のリリースで追加されていたようです。

  • terminal.integrated.titleMode

Title sequence support
When this is set to sequence, the title will be based on what the shell sets it to. This needs shell support to work,

いままでVSCodeのターミナルって「zsh」とか味気ない名前のタブばかりになって個人的にはイマイチだったのですが、エスケープシーケンスによる動的なタイトル変更が可能になります。TeraTerm や iTerm2 とかの著名なターミナルアプリと同様の挙動にできますね。
Workspace Trust とか Remote Repositories とかの実装の裏でこんなバージョンアップも行われていたとは。。 リリースノートを読むのサボってはいけませんね。