VS CodeでJupyterが使える!ということなので、試してみました!
「Jupyterってなによ?」という方はコチラをどうぞ。
環境セットアップ
まずはPythonとJupyterについてですが
Jupyterの公式サイトでは、「Anacondaディストリビューションを利用してPythonとJupyterをインストールすることを強く推奨」している。
引用:VS CodeからJupyter Notebookを使ってみよう (1/3):Visual Studio Codeで始めるPythonプログラミング - @IT
とのことらしいので、PythonとJupyterは、Anacondaで導入した方がよさそうでです。
で、VS Codeの拡張「Jupyter」を入れます。
「jupyter」で検索すれば、1番上に出てきます。
もしくはコチラのマーケットプレイスのページ経由で開けます。
記述方法
それではVS Codeでの記述方法についてです。
コードを書く場合
コードはこのように書いていきます。
#%% msg = "text"
先頭の「#%%」が、「Jupyterのセルはじめるよ!」っていうサインです。
コレを認識して、セルとして見てくれます。
markdownを書く場合
markdownの場合は、このように書きます。
ブラウザと違ってちょっとめんどくさいです。
#%% [markdown] # # title # このようにすると # ## title-2 # Markdownできるらしい
- 1行コメントの塊の中に、markdownを表現してあげる必要がある
- 先頭の「#%%」に「[markdown]」をプラスしてあげないといけない
というルールがあります。
「[markdown]」の記述をしない場合、通常のコメントとして扱われてしまいます。
また複数行コメントの場合も、ただのコメントとして取り扱われる。
#%% [markdown] """ これはNG """
markdownとPythonの共存
VS CodeでのJupyterの利点(?)は、markdownとコードを同居することができます。
例えば
#%% [markdown] # # やっていること # 1. 変数をセットする # 2. メッセージを表示する msg = "これはメッセージ!" print(msg)
のようにすると
のように表示されます。
これはmarkdownの表示も含めて表示がされます。
しかしこのようにした場合……
#%% [markdown] # # 変数をセットする msg = "これはメッセージ!" # # メッセージを表示する print(msg)
表示がされたかと思いきや……
先頭のmarkdownだけで、コードの中間にあるmarkdownはコメント化してしまいました。
ブラウザのJupyterとの違い
ブラウザのJupyterと異なり
Run Cellしたセル単位で、処理を実行する。 このときJupyterの表示上は、実行セルの結果が、下に追加されていくイメージ。
ショートカット
「Shift+Enter」で「Python:Run Current Cell And Advance」が使えます。
コレをすると
- 作業中のセルを実行し、1つ下のセルに移動
- 1つ下のセルがない場合、新しいセルを1つ下に追加
という動きをします。
「コードを書く→実行+セル追加」という感じで処理を書き進めていくならいいかもしれませんね。
動作の遅さ的にイマイチかもしれませんが……
使ってみて……正直使える代物?
使ってみた感想としては、正直ちょっと使いづらい。
テキストエディタがベースなせいというのもあるとは思うんですが……
やはりブラウザ版の機能の方が、使い勝手がいいとは思います。
また出力も、
- ブラウザ版のJupyterは「1セル:1出力」
- VS Code版のJupyterは「出力順に表示」
という違いがあります。
VS Code版は、表示上はコンソールで、細かいPythonファイルを実行していくのに似ています。
この場合の「細かいPythonファイル」が「セル」のような感じ。
ただ「VS CodeでJupyterを編集できる」という意味ではかなり大きいと思います。
この拡張での一番のメリットは
書き慣れたエディタで、Jupyterが書ける!
ということに尽きると思います。
参考
コチラを参考にしました。ありがとうございました!
あとがき
ということで、「JupyterをVS Codeで使う」についてでした!
毎回「[Markdown]」とか書くの面倒なんで、スニペット登録とかするとイイかもしれませんね。
とはいえ、この拡張を使うかどうか、ちょっと考え中です……
そもそもで「Jupyter」を学びたい!って方は、ネットとか本とか見てみるといいと思いますー