Visual Studio Code内でワークスペースのルートの統合ターミナルを開くことができます。これはコマンドラインのタスクを実行するためにウィンドウを切り替えたり、既存ターミナルの状態を変更する必要がないので、非常に便利です。
ターミナルを開くには:
- ⌃` (Windows, Linux Ctrl+`)を使用します。
- 表示 > 統合ターミナル を使用します。
- コマンドパレット(⇧⌘P (Windows, Linux Ctrl+Shift+P)) から View:Toggle Integrated Terminal コマンドを使用します。
Note: 今まで通りVS Codeの外で作業するときは、エクスプローラーでOpen in Command Promptコマンド(Mac LinuxではOpen in Terminal)を使用して外部のシェルを開いてください。
複数の端末を管理する
さまざまな場所を開く複数のターミナルを作成でき、その間を簡単に移動することができます。ターミナルのインスタンスはターミナルパネル右上にあるプラスアイコンから追加するか⌃⇧` (Windows, Linux Ctrl+Shift+`)コマンドで追加できます。これによりドロップダウンメニューではこのエントリーが追加され、これらを切り替えることができるようになります。
ここではゴミ箱ボタンをおすことで、ターミナルのインスタンスを削除します。
Tip: 複数のターミナルを大々的に使用する場合は、キーバインドのセクションで解説されている
focusNext
、focusPrevious
、kill
コマンドをキーバインドに追加して、それらの間の移動をキーボードのみで可能にすることができます。
構成
シェルはLinuxとOS Xで$SHELL
、Windows 10ではPowerShellが旧Windowsではcmd.exeが使用されます。これらは設定でterminal.integrated.shell.*
を設定するとで上書きされます。引数はterminal.integrated.shellArgs.*
設定を使用してLinuxとOS Xのターミナルシェルに渡すことができます。
Windows
現在WIndows上のシェルの構成は、正しい実行可能ファイルの場所と設定の更新が問題となります。一般的なコマンドシェルのリストと既定の場所を次のリストに示します:
|
Note: 統合ターミナルとして使用するには、シェルの実行可能ファイルがコンソールアプリケーションである必要があります。つまり
stdin/stdout/stderr
がリダイレクトできるということです。Tip: 統合ターミナルはVS Codeのパーミッションで実行されます。管理者(administrator)権限または違うパーミッションでシェルコマンドを実行するときは、ターミナル内で
runas.exe
といったplatform utilitiesを使用してください。
Linux & OS X
通常$SHELL
はUnix系システムで基本のシェルですから、おそらくこのシェルを変更したいとは思わないでしょう。これの回避策に起動時に引数をシェルに渡すことができます。
たとえばbashを(.bash_profile
を実行する)ログインシェルとして実行するには-l
引数を渡します:
|
ターミナルの表示設定
統合ターミナルのフォント、行の高さは次の設定でカスタマイズできます:
terminal.integrated.fontFamily
terminal.integrated.fontSize
terminal.integrated.lineHeight
キーバインド
View: Toggle Integrated Terminal コマンドは⌃` (Windows, Linux Ctrl+`)にバインドされ、統合ターミナルのパネルを素早く切り替えることができます。
統合ターミナルで素早い移動に使用できるショートカットは次の通りです:
Key | Command |
---|---|
⌃` (Windows, Linux Ctrl+`) | 統合ターミナルの切り替え |
⌃⇧` (Windows, Linux Ctrl+Shift+`) | 新しいターミナルを作成 |
⌥⌘PageUp (Windows Ctrl+Alt+PageUp, Linux Ctrl+Shift+Up) | スクロールアップ |
⌥⌘PageDown (Windows Ctrl+Alt+PageDown, Linux Ctrl+Shift+Down) | スクロールダウン |
PageUp (Windows, Linux Shift+PageUp) | スクロールアップ(ページ) |
PageDown (Windows, Linux Shift+PageDown) | スクロールダウン(ページ |
⌘Home (Windows Ctrl+Home, Linux Shift+Home) | 一番上にスクロール |
⌘End (Windows Ctrl+End, Linux Shift+End) | 一番下にスクロール |
⌘K (Windows Ctrl+K, Linux ) | ターミナルのクリア |
その他ターミナルコマンドも利用可能で、好みのキーボードショートカットにバインドすることもできます。
次の通りです:
workbench.action.terminal.focus
: ターミナルにフォーカスこれは切り替えの様ですが、ターミナルを開いているとき非表示にするのではなくフォーカスします。workbench.action.terminal.focusNext
: 次のターミナルにフォーカスします。workbench.action.terminal.focusPrevious
: 前のターミナルにフォーカスします。workbench.action.terminal.kill
:現在のターミナルインスタンスを削除します。workbench.action.terminal.runSelectedText
: アクティブな端末で選択したテキストを実行します。
選択したテキストの実行
runSelectedText
コマンドを使用するにはエディター内でテキストを選択したのち、コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P))を介してTerminal: Run Selected Text in Active Terminalを実行します。
このターミナルは選択したテキストを実行しようとします。
アクティブなエディター内で選択済みのテキストがない場合は、ファイルすべての内容で実行します。これはスクリプトやバッチファイルの全体を実行する場合に便利です。ファイルを開いて Terminal: Run Selected Text in Active Terminalを実行してください。
コピーアンドペースト
コピペに使用するキーバインドはプラットホームの標準に従います:
- Linux: Ctrl+Shift+C、Ctrl+Shift+V
- Mac: Cmd+C、Cmd+V
- Windows: Ctrl+C、Ctrl+V
検索
統合ターミナルには⌘F (Windows, Linux Ctrl+F)で起動できる基本的な検索機能があります。
LinuxやWindowsでCtrl+F
を実行したいとき、検索ウィジェットを表示するのではなく、シェルに文字を入力させたい場合は次のようにキーバインディングを削除するひつようがあります:
|
ターミナルセッションの名前を変更
統合ターミナルセッションはTerminal: Rename (workbench.action.terminal.rename
) コマンドを使用して名前を変更できます。新しい名前はターミナルセクションのドロップダウンで表示されます。
強制的にキーバインドをターミナルへ渡し通す
統合ターミナルにフォーカスがあるあいだ、キーストロークがターミナルに渡されるため多くのキーバインドは機能しません。terminal.integrated.commandsToSkipShell
設定はこれを回避するのに使用できます。これにはシェルによるキーバインドの処理をスキップし、VS Codeのキーバインドシステムによって処理するようにしたいコマンドの配列を設定してください。既定では一般に使用されるキーバインドに加えすべてのターミナルのキーバインドを含んできます。
よくある質問
なぜ端末にフォーカスがあるときショートカット X が機能しないのですか?
現在のターミナルは多くのキーバインディングを隠してVisual Studio Codeが反応するのを防ぎます。例としてLinuxとWindowsの F1 コマンドパレットを開く や Ctrl+P Quick Open などが挙げられます。これは、端末プログラムとキーバインドの両方またはいずれか一方に反応する可能性があるため必要なのです。特定のキーバインディングが端末によって処理されるのを防ぐブラックリストを作成する計画があります(#7269 を参照してください)。
Windowsで統合ターミナルはcode 1で終了しました
これはWindowsをアップグレードした際に自動的に起こりやすい互換性モードで、VS Codeを実行したときに起こることがあります。解決には実行可能ファイルを右クリックしてプロパティを選択し、互換性のタブで”互換性モードで実行する”のチェックを外してください。
WindowsのターミナルでCmderを使用することはできますか?
可能です。VS CodeでCmderコンソールエミュレータを使用するにはcmderのパスに次の内容でvscode.bat
を作成する必要があります:
|
次にVS Codeのユーザー設定で次をsettings.json
に追加します:
|
Note: 上記の例はWindows 64bit上で32bitのVS Codeを使用しており、sysnative
を使用する必要があります。64 bitのVS Codeを使用している場合は、System32
を使用してください。