🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

MSYS

MSYS(Minimal SYStem)は、Windows上で動くUnixシェル、テキスト操作ユーティリティなどをまとめたパッケージ。C言語やFortranのコンパイラであるMinGWをカバーする目的で作られています。

Q&A

1回答

5283閲覧

VSCode 内のターミナルで Ctrl+C (interrupt) が機能しない

退会済みユーザー

退会済みユーザー

総合スコア0

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

MSYS

MSYS(Minimal SYStem)は、Windows上で動くUnixシェル、テキスト操作ユーティリティなどをまとめたパッケージ。C言語やFortranのコンパイラであるMinGWをカバーする目的で作られています。

0グッド

0クリップ

投稿2022/04/17 19:47

編集2022/04/17 21:04

vscode 内のターミナルで msys2 の bash を使用しているとき、ctrl+C が機能しません。
ctrl+C を連打すると 10 回に 1 回ぐらいの割合で ^C と表示され新しい行に移ります。C++ を使っているのですが、プログラム実行中は中断しようとしても全く機能しません。
vscode からではなく普通に msys2 の shell を使っているときは正常です。vscode 内のターミナルでも、git bash の場合やはり正常です。

vscode, msys2 はいずれも最新の状態にしましたが直りません。
stty -a としたところ intr = ^C; となっていたので、vscode 側の問題かなとは思うのですが......。

追記
keybindigs.json を編集して他の操作を interrupt に割り当てても全く同じ症状のままでした。

追記2
以下のプログラムを実行して ctrl+C の後に Enter したところ 3 と出力されました。
'\0003' がシグナルではなく普通にプログラムへ入力として渡されているようです。なぜでしょうか......

cpp

1#include <iostream> 2 3int main() { 4 char c; 5 std::cin >> c; 6 std::cout << int(c) << '\n'; 7}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

'\0003' がシグナルではなく普通にプログラムへ入力として渡されているようです。なぜでしょうか......

端末側の原因であるとすると、stty -isigという状態であるとそうなります。他にもstty rawとかでも-isig状態になります。
(interrupt、 quit、 suspend の機能の有効無効切り替え)
が、いつの間にかなると言うことでも無いので、何故そうなっているのかは不明だし、もちろん、VSCode側の原因であるなら無関係です。

ctrl+C を連打すると 10 回に 1 回ぐらいの割合で

と言う現象は、同じ端末から複数のプログラムが入力しようとしている場合に起こりますが、関係なさそうですね。

投稿2022/04/18 02:16

otn

総合スコア85893

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問