何に困ったのか?
VSCodeでJupyterノートを実行できるようにした。
その後、キーボードショートカットで実行しようとしても、実行されなかった。
原因
セルを実行するためのショートカットが2種類あり、古いほうのショートカットを押していた。
環境
OS: Zorin OS 17.1
Zorin OS = ubuntuをベースにしたLinux distribution
他のLinuxでも同様の現象が発生すると思われる
詳細
最初に試みたこと
キーボードショートカットの設定画面をVSCode上で開いて、 "jupyter.runcurrentcell"の項目を見た。
Ctrl+Enterが登録されていたので、試してみるが実行されない。
普通に改行が入力されるだけ。
解決方法
情報を見つけた。
https://github.com/microsoft/vscode-jupyter/issues/4377
この記事によると、"jupyter.runcurrentcell"は古い項目らしい。
"notebook.cell.execute"が新しいらしく、見てみると、デフォルトでSuper+Enterとなっていた。
Ctrl+Enterを登録してやると、その通りに動いた。
操作については、キーボードショートカットの設定画面は、コマンドパレットでそれっぽいのを開くか、Ctrl+K,Ctrl+Sを押す。
"notebook.cell.execute"を検索すると早い。項目を見つけたらダブルクリックして設定したいキーを登録する。
古い
新しい
(※記事を書いてるのがWindows環境なのでWindows版VSCodeのスクショを使用しています。)
keybindings.json用のJSON形式↓
{
"key": "ctrl+enter",
"command": "notebook.cell.execute",
"when": "notebookCellListFocused"
},
{
"key": "ctrl+alt+enter",
"command": "-notebook.cell.execute",
"when": "notebookCellListFocused"
}
(ちなみに自分は"-notebook.cell.execute"がなぜ必要かよくわかっていません。助けて詳しい人)
なぜ最初に気づけなかったのか
"notebook.cell.execute"に当たる項目は、キーボードショートカットの設定画面では日本語名でのみ表示されていたから。
英語で適当に"jupyter"やら"notebook"で検索しても出てこなかった。
最初からkeybindings.jsonを開いていたらもっと早く気づけたかもしれない。
蛇足
始めてQiitaの記事を書いたので、分かりにくかったらごめんなさい。
ただ、この情報はネットを見てもあまり見つからなかったので、書いておこうと思いました。
せっかくVSCodeの環境を整えたのに思ったように動かなくてモチベが下がってしまった、自分のような人間がこれ以上生まれませんように・・・。