VS Code Python拡張機能、2025年8月アップデート シェル統合機能の設定と使い方:Deep Insider Brief ― 技術の“今”にひと言コメント
MicrosoftがPython in Visual Studio Code(Python拡張機能)の2025年8月版を公開した。シェル統合機能がPython 3.13以降のバージョンに対応し、ターミナルでのコード補完ができるようになった。その他の機能についても簡単にまとめる。
2025年8月にMicrosoftがPython in Visual Studio Code(Visual Studio Code用のPython拡張機能)について最新リリースを公開した。なお、以降ではVisual Studio CodeをVS Codeと記載する。
今回のアナウンスでは主に以下の点が伝えられている。
- Python Environments拡張機能が安定版ユーザーの約20%に展開開始。利用者は設定から有効化/無効化を切り替え可能。これは仮想環境(プロジェクトごとに異なるPython実行環境)を簡単に管理するための拡張である
- シェル統合機能がPython 3.13以降をサポート。ただし、コードをコピー&ペーストして実行する際にインデントが崩れる問題が発生することから、Python 3.13以降ではPyREPL(Python 3.13以降に標準で添付する新しいREPL環境)は自動的に無効化される。また、エディタと同様にターミナルでもインラインのコード提案を受けられるようになった
- uv仮想環境でのJupyterサポートが強化された。uvを使用して作成された仮想環境でJupyter Notebookを実行する際に、必要な依存関係がインストールされるようになった
- ノートブックとチャットの統合が強化。ノートブックのインラインチャットでエージェントツール(AIによる補助機能)が利用できるようになった。これにより、Jupyter Notebookを使った開発体験が向上する
どうもHPかわさきです。
最近はちょっとVS Codeを漫然と使っているだけで、その更新内容をちゃんとチェックしていませんでした。ということで、これからはちゃんとチェックしながら、気になる内容については少し深掘りして、皆さんに紹介していくことにしましょう。
というわけで、今回はシェル統合機能について見てみます。なお、Python Environments拡張機能とPython 3.13以降でのシェル統合機能のサポートは本稿執筆時点ではどちらもプレビュー段階となっていることはご承知置きくださいね。
シェル統合機能がPython 3.13以降をサポート
VS Codeには「そのウィンドウ内で開かれたターミナルが、シェルで何が実行されているかを理解できるようにする仕組み」を持っている。これをシェル統合機能という。Python in VS Codeではこの基盤の上に独自のシェル統合機能を実装している。
VS Code自体のシェル統合機能はsettings.jsonファイルのterminal.integrated.shellIntegration.enabledをtrueにすることで有効となり、Python in VS Codeのシェル統合機能はpython.terminal.shellIntegration.enabledをtrueにすることで有効となる。以下の画像を見ると分かるが、2025年8月21日時点ではこれはプレビュー段階になっている。
ただし、Python 3.13以降では標準で添付の新しいREPL環境(PyREPL)へエディタからPythonコードをコピー&ペーストして実行しようとするとインデントが崩れてしまうなどの問題が発生している。そのため、シェル統合が有効な場合、Python 3.13以降ではこの新しいPyREPLが自動的に無効化されるようになっている。無効化された状態でターミナルを開くと以下の画像のように以前のREPL環境が実行される。
また、シェル統合機能が有効な状態で以下の設定をtrueに変更することで、ターミナルでの入力補完が有効になる。
- terminal.integrated.suggest.enabled
- python.analysis.supportAllPythonDocuments
本稿冒頭で示した「Python in VS Code」のアナウンスでは2つ目の設定しか記載されていないが、1つ目の設定もtrueにすることを忘れないようにしよう。これにより、例えば、以下のようにターミナルでもコード補完が行えるようになる。
なお、Windows環境でシェル統合機能がサポートされるのはpwsh(PowerShell 7以降)とgit bashとなっている。他のシェルを使っている人は要注意だ。
新しいPyREPLが使えないのは残念ですが、ターミナルでもコード補完が効くのはちょっとしたコードを試してみたいというときにはありがたいことですね。今回はシェル統合機能に注目しましたが、Python Environments拡張機能についても機会があればご紹介したいと思います。
Copyright© Digital Advantage Corp. All Rights Reserved.