公開:

Visual Studio CodeのPython拡張機能が2024年5月アップデート、パフォーマンス改善とデバッグ機能強化

text: XEXEQ編集部


Visual Studio Codeの最新Pythonアップデートに関する記事の要約

  • Visual Studio CodeのPythonおよびJupyter拡張機能の2024年5月リリースを発表
  • 抽象クラスの実装を支援するコードアクションや自動インデント設定など新機能追加
  • デバッグ機能がPython Debugger拡張機能に移行、パフォーマンス改善も
  • サードパーティパッケージのインデックス作成やメモリ消費の最適化によりパフォーマンス向上

Pylanceのパフォーマンス改善とデバッグ機能の強化

Microsoftは2024年5月3日、Visual Studio Code向けのPythonおよびJupyter拡張機能の最新アップデートをリリースした。今回のアップデートではPylanceのパフォーマンス改善に重点が置かれている。サードパーティパッケージのインデックス作成の高速化やメモリ消費の最適化などにより、より快適な開発環境の提供を目指した。[1]

また、デバッグ機能に関してもPython Debugger拡張機能への移行が完了し、重複コードの削除によって拡張機能のダウンロードサイズの削減を実現。launch.jsonの設定では従来の"type": "python"と新しい"type": "debugpy"の両方に対応し、シームレスな移行を可能にしている。

Pylanceチームは最近のリリースでパフォーマンスの低下が指摘されていたことを受け、メモリ消費やインデックス作成の効率化に取り組んだ。診断ツールも拡充され、パフォーマンスの問題をより容易に特定できるようになっており、今後もコミュニティからのフィードバックを基に継続的な改善が行われる見通しだ。

Python開発者を支援する新機能の数々

今回のアップデートではPylanceの抽象クラス実装を支援する新しいコードアクションが追加された。抽象クラスから継承したクラスを定義する際に、未実装の抽象メソッドやプロパティを自動的に生成できるようになっている。モジュール性と再利用性を重視したPythonプログラミングにおいて、生産性の向上が期待できる機能だ。

またPylanceの自動インデント動作を制御する新しい設定オプションpython.analysis.autoIndentも導入された。以前はeditor.formatOnType設定に依存していたため、他のフォーマットツールとの連携に支障をきたす場合があったが、この問題が解消されることになる。

テスト機能に関しては、ソケットの無効化がテストUIから直接設定できるようになった。これはPython拡張機能とテスト実行サブプロセス間の通信方式をポートベースからnamed pipeベースに切り替えたことで実現した。新しいテストアーキテクチャは今後デフォルトとなる予定。

最新のPythonアップデートからフルスタックエンジニアが考えること

フルスタックエンジニアにとって、Pythonは欠かせない言語の一つだ。Webアプリケーションのバックエンドから、機械学習のモデル構築、データのクレンジングや可視化、インフラのプロビジョニングに至るまで、あらゆる場面で活躍するからだ。そんなPythonの開発環境が着実に進化を遂げていることは喜ばしい限りだが、現場で開発に携わる者としては、まだまだ改善の余地を感じることも多い。

特に、プロジェクトの規模が大きくなるにつれ、コードの品質管理や保守性の確保が難しくなる。Lintツールやフォーマッタの適用はもちろん、型ヒントの徹底、テストの自動化など、ある程度のしがらみを設けないと、すぐにカオスなコードベースになってしまう。Goのようにオピニオンを持ったツールセットがデフォルトで提供されると、チーム開発もずっとスムーズになるのだが。

また、マイクロサービスアーキテクチャが主流となる中、ローカル環境での開発が難しくなってきているのも悩ましい。Dockerを使えば環境の再現性は担保できるが、Kubernetesを含めたオーケストレーションツールとの連携、ログやメトリクスのモニタリングなど、ローカルで production likeな環境を作るのは一仕事だ。DSLベースのツールでいくつかの課題は解決されつつあるが、Python界隈でも、もっと統合的なソリューションが生まれてほしい。

加えて、非同期処理やマルチスレッドのデバッグなど、Pythonならではの難しさもある。async/awaitの普及により、非同期プログラミングは以前より随分とシンプルになったが、デッドロックなどのバグに悩まされることも多い。PythonのGILの存在を考えると、Node.jsのようなシングルスレッドの方が素直に書けることも多いように感じる。これはPythonの言語仕様に起因する課題なので、一朝一夕には解決できないだろうが、何か良いプラクティスが生まれてくることを願っている。

参考サイト

  1. ^ Microsoft Python. 「Python in Visual Studio Code - May 2024 Release - Python」. https://devblogs.microsoft.com/python/python-in-visual-studio-code-may-2024-release/, (参照 24-05-28).
  2. Microsoft. https://www.microsoft.com/ja-jp

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「AI」に関するコラム一覧「AI」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。