ここでいうターミナルとはvscodeでshift + control + @で立ち上がるターミナルのことを指します。また、そのターミナルでのcwdは、エディター領域で編集しているファイルの直上ディレクトリだとして話を進めます。
注): 単純にデバッグ効率を上げるためだけの記事です。
記事作成自体初めてなので、書き方の上で改善するべき点や、自分はこういうショートカットを作ったら良かった、などの意見もコメントしていただきたいです。
#手順
- Python拡張機能をインストール
- ショートカットを追加
2についてのみ書きます。以下のコードを追加するだけです。
keybindings.json
{
"key": "cmd+r",
"command": "python.execInTerminal",
"when": "editorTextFocus"
},
"key"はお好みで変えてくださいね!それとwhen式を設定しておくことをお勧めします。(デフォルトで別のコマンドが設定されていてそれと折衝しそうだったので。)
これで今回の目的は達せられました。(ニッコリ)わざわざターミナルに移動してコマンドを打ち込む手間が省けましたね!
部分的にデバッグしたい場合は、『一部を選んで実行』みたいなコマンドもあるのでそれもいいですね。(僕の場合、短いテストファイルを作って実行したかっただけなので今回は割愛します。)しかし、Pythonだけにしか使えないというのは何か物足りないですね...できればcやcppでも
gcc -o file file.cpp
$: ./file
```をやってくれるようなショートカットが欲しいですよね???
#一般化したいよね
cmd+K cmd+Sでショートカット一覧をショートカットで開けます。(ややこしい)
そこで run file などと打ち込むと以下のような画面になります。もちろん、インストールしている拡張機能により表示結果は変わります。
<img width="1060" alt="スクリーンショット 2019-12-19 13.28.32.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517924/4f86c5c4-b4e9-6d6a-00f3-eaf3790481b0.png">
そこには
```workbench.action.terminal.runActiveFile```という明らかに一般化できそうなコマンドが...
なのでこれで実行したところ以下のようなエラーが起きます。
```bash: cwd/file.py: Permission denied
```これは解決したい...多分パスが通ってないとかその類の問題でしょう...
###結果
英語が読めずに諦めました。(雑魚)
どのように設定すれば他の言語でも応用できるのか、有識者さまにコメントして欲しいです...