kakakakakku blog

Weekly Tech Blog: Keep on Learning!

VS Code で Jupyter Notebook を便利に編集できる新機能を試した

今月 Visual Studio Code (VS Code)Python Extension 機能のリリースがあり,例えば VS Code から直接 .py を実行できるようになった.個人的に注目したのは「Jupyter Notebook サポート」で,日頃から Python のサンプルコードを書いたり,トレーニングでデモをしたり,Jupyter Notebook を使う場面が多く,さっそく試してみた.

devblogs.microsoft.com

devblogs.microsoft.com

前提

VS Code に以下の拡張機能をインストールしておく.IntelliCode(IntelliSense を AI を使って拡張する)は必須ではないけど,インストールしておくと良いと思う.

公式ドキュメントは以下にある.

code.visualstudio.com

Notebook を作成する

VS Code でコマンドパレットから「Python: Create Blank New Jupyter Notebook」を選択すると,簡単に新規 Notebook を作成できる.

f:id:kakku22:20191026164457p:plain

すると,ipynb 形式で Notebook の雛形が開き,すぐに編集できるようになっている.「実行ボタン」「セル追加ボタン」もある.

f:id:kakku22:20191026164541p:plain

既にある .ipynb ファイルを VS Code で開くと自動的に Jupyter Notebook の編集画面になるし,よく使う Shift + Enter ショートカットもサポートされているし,直感的に(Jupyter Notebook と比較して違和感なく)使えると感じた.

便利機能 : コード補完

IntelliSense と IntelliCode を組み合わせてコード補完を使える点は素晴らしく良かった.サンプルコードを書きながら試したけど,助かる!

f:id:kakku22:20191026165711p:plain

今までも Jupyter Notebook Extensions を使って Hinterland を有効化するとコード補完は使えたけど,個人的には微妙だった.少なくとも,もう Jupyter Notebook エディタには戻れなさそう.

github.com

便利機能 : Variables(変数ビュー)

メニューから選べる「Variables」を使うと,実行中の変数一覧を確認できる.Jupyter Notebook だと,速度優先で print デバッグをしたり,同じく Jupyter Notebook Extensions を使って Variable Inspector を有効化し,変数一覧を確認していたけど,VS Code に標準搭載されているのは便利だ!

f:id:kakku22:20191026170350p:plain

便利機能 : Data Viewer

さらに 「Variables」で Python の list 型や dict 型を確認する場合,値の右側にポップアップアイコンがあり,選択すると Data Viewer 画面に遷移する.大量データを処理するときなど,整形して確認できると助かるし,さらに Key と Value で自由にフィルターする機能もある.

f:id:kakku22:20191026171158p:plain

もし以下のエラーが出る場合は,事前に pippandas をインストールしておく.

Python package 'pandas' is required for viewing data.

Debugging

VS Code で Jupyter Notebook をデバッグする場合,現在だとメニューの1番右にある「Convert and save to a python script」を使って,1度 Python スクリプトに変換してから,VS Code の機能でデバッグする必要がある.少し面倒に感じたけど,ブログを読むと「セルデバッグ機能を開発中」とあり,これは期待だ!

We are working on bringing cell debugging into the Jupyter editor in a future release so stay tuned!

まとめ

VS Code で Python Extension 機能のリリースがあった.「Jupyter Notebook サポート」は本当に便利で,今後 Jupyter Notebook を使うときには積極的に VS Code を使うぞー!