---
title: VS Codeで標準入力を受け取る方法
url: https://roboin.io/article/2024/02/08/how-to-use-vs-code-stdin/
description: VS Codeでの標準入力の取り扱いが改善されました。新機能の詳細と使用方法について解説します。
publishedDate: 2024-02-07T17:14:51.000Z
modifiedDate: 2024-02-07T17:14:51.000Z
thumbnail: https://roboin.io/api/og/2024/02/08/how-to-use-vs-code-stdin/
thumbnailAlt: 記事のサムネイル画像
thumbnailCaption: N/A
---

# VS Codeで標準入力を受け取る方法

2024年1月のアップデートのVS Code v1.86では、コマンドラインからの操作に関する大きな改善がもたらされました。

このアップデートにより、**VS Codeでの標準入力の取り扱いがより柔軟になりました**。この記事では、新機能の詳細と、それを使用する方法について解説します。

なお、v1.86では音声でコーディングができる「Hey Code」機能も追加されています。詳細については、こちらの記事で解説しています。

[「Hey Code」でVS Codeの開発体験が変わる！話してコーディングをより便利に](https://roboin.io/article/2024/02/05/vs-code-new-feature-hey-code/)

## 標準入力とは

標準入力とは、**プログラムが外部からのデータを受け取るための手段の一つ**です。これにより、コマンドラインや他のプログラムからテキスト情報を直接プログラムに渡すことが可能になります。プログラマやシステム管理者にとって、標準入力は非常に強力なツールです。

## VS Code v1.86の新機能

VS Code v1.86では、コマンドラインからの標準入力を扱う際、`--wait`フラグを強制しなくなりました。これにより、エディターを閉じるかVS Codeを完全に閉じるまでターミナルプロンプトに戻れなかった従来の挙動から脱却し、直ちにターミナルプロンプトに戻れるようになりました。

### どのように影響するか

以前は、コマンドラインからVS Codeにテキストを渡すと自動的に`--wait`フラグが適用されていました。これは、VS Codeが閉じられるまで元のターミナルに戻れないことを意味します。しかし、新しいアップデートでは、この挙動が変更され、標準入力を使用してテキストをVS Codeに渡した際も、直ちにターミナルに戻れるようになりました。

### 使用方法

LinuxやmacOSでVS Codeを使用している場合、次のようにして標準入力をVS Codeに渡せます。

```powershell
ps aux | grep code | code -
```

Windowsでは、次のようにしてください。

```powershell
echo Hello World | code -
```

このコマンドは、標準入力をVS Codeに渡すために使用されます。`-`は標準入力からデータを受け取ることを示します。

なお、デフォルトでは拡張機能などが無効化された状態でVS Codeが起動されます。

### 従来の挙動に戻す方法

新しい挙動を好まない場合や`--wait`フラグが必要な場合は、簡単に従来の挙動に戻せます。次のように、コマンドラインに`--wait`を追加すると、従来のようにVS Codeが閉じられるまでターミナルに戻れなくなります。

```powershell
echo Hello World | code -　--wait
```

## まとめ

VS Code v1.86によって導入された標準入力の取り扱いの改善は、コマンドラインからVS Codeへのテキスト転送が容易になり、作業の流れがスムーズになります。

新しいアップデートを活用して、より効率的な開発環境を実現しましょう。

## 参考

- [Visual Studio Code January 2024](https://code.visualstudio.com/updates/v1_86#_do-no-enforce-wait-when-reading-from-stdin-from-the-command-line)