Visual Studio CodeのPython拡張機能が2024年5月アップデート、パフォーマンス改善とデバッグ機能強化
スポンサーリンク
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の言語仕様に起因する課題なので、一朝一夕には解決できないだろうが、何か良いプラクティスが生まれてくることを願っている。
参考サイト
- ^ 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).
- Microsoft. https://www.microsoft.com/ja-jp
※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。
- 2段階定額制とは?意味をわかりやすく簡単に解説
- FTサーバ(Fault Tolerant Server)とは?意味をわかりやすく簡単に解説
- GPT-4とは?意味をわかりやすく簡単に解説
- HULFTとは?意味をわかりやすく簡単に解説
- 3Dプリンタとは?意味をわかりやすく簡単に解説
- GPGPUとは?意味をわかりやすく簡単に解説
- Goクエリとは?意味をわかりやすく簡単に解説
- ICANN(Internet Corporation for Assigned Names and Numbers)とは?意味をわかりやすく簡単に解説
- Hailoとは?意味をわかりやすく簡単に解説
- GDDR6とは?意味をわかりやすく簡単に解説
- Microsoft CopilotがBuild 2024で新機能を発表、ビジネス価値の創出を加速
- Windows 11 version 24H2がリリースプレビューに登場、新機能とCopilotアプリ化で利便性向上
- Windows Copilot RuntimeでAI開発が加速、Microsoftが新たなプラットフォームと開発ツール群を発表
- EmEditor v24.2.0リリース、AI機能とセキュリティが強化されユーザビリティが向上
- ChatGPTにデータ分析機能が強化、Google DriveやOneDriveとの連携でインタラクティブ分析が可能に
- Chrome DevToolsにAIを活用したエラー・ワーニングの説明機能が追加、ウェブ開発の生産性向上に期待
- Google WorkspaceアップデートでドライブとGeminiが進化、管理性と言語サポートが向上
- SofTalk ver2.00.00リリース、独自エンジンでUTAU音源に対応し操作性も向上
- Windows 11にAIプラットフォーム「Copilot+ PCs」登場、高度なAIワークロードに対応
- 最新Surface ProとLaptopが登場、AIで進化するWindowsの新時代が幕開け
スポンサーリンク