LoginSignup
17
6

More than 5 years have passed since last update.

VSCodeの統合ターミナルでもターミナルへ実行したコマンドの強制終了(Ctrl+c or Cmd+c)を使いたい

Last updated at Posted at 2018-11-08

自分のローカル開発環境をなるべく開くアプリケーションを多くしないために VSCode Only でターミナルもコード編集もGitコミットも全部やれるようにしているのですが、
VSCode の統合ターミナルを使っていると、たまに実行するコマンドを失敗して、「あー!!」と思いながら Ctrl+cCmd+c を連打して、強制終了したいことないですか?

私はよくあって、SSH先のサーバのIPアドレスが間違っていたり、バッチ処理実行してしまった後に「あ、あれやるの忘れてた :sweat_smile:」ってなって、強制終了したくなるんです :exclamation:

そんなとき、これまでは「あー!!」と思いながら、待つのがめんどくさいので iTerm 起動したり、統合ターミナルをゴミ箱ボタン押してターミナルごと強制終了したりしてました。
ですが、これ、、、、「起動するアプリは結局増えるタイミングがある」し、ターミナルごと強制終了すると、実行したプロセスが残ってたりするんですよね・・・

本番環境とかいじってるタイミングで起こるともう、怒りの○ランプさん :angry: みたいになる・・・
なので、できるだけ全部、VSCodeでできるようにしたいという思いながら、しばらく耐えてました

そして本日、ちょっと調べ物をしていると下記の記事を見かけたので、この方にならって対応してみました!

僕の場合は、 Ctrl+cCmd+c への対応をする必要があったので、このキー操作のエスケープシーケンスを調べる必要があったんですが、
なんとか、Wikipediaさんを参照して、解決できました :exclamation:

その結果、キーバインドには下記のように書きました。

keybindings.json
    {
        "key": "ctrl+shift+q",
        "command": "workbench.action.terminal.sendSequence",
        "when": "terminalFocus",
        "args": { "text": "\u0003" }
    }

そのまま、Cmd+c としたかったんですが、確認すると被ってるキーバインドさんがいたので、なるべくいないやつーを探して、
whenterminalFocus を追加条件に入れたら対応できました :exclamation:

いやー、、これに困ってる人結構いそうだけどなー・・・周りからはあまりそういった声聞こえないし、、、 :speech_balloon:
僕だけでしょうか? でも解決できたからよかったー :joy:

こんな方法よりもっと簡単な方法あるっちゅーねん :exclamation: :exclamation: :exclamation:
という方、コメントお待ちしてます。 :bow:

17
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
6