検索
ニュース

Microsoft、「Visual Studio Code」向けPython拡張機能の「July 2020」リリースを公開新しい言語サーバ「Pylance」や「Gather」拡張機能をサポート

Microsoftは、「Visual Studio Code」向けPython拡張機能の「July 2020」リリースを公開した。15件の機能強化、27件の問題修正などが行われている。

Share
Tweet
LINE
Hatena

 Microsoftは2020年7月16日(米国時間)、コードエディタ「Visual Studio Code」(以下、VS Code)向けPython拡張機能の「July 2020」リリースを公開したと発表した。

 Python拡張機能は、Visual Studio Marketplaceからダウンロードするか、Visual Studio Codeの拡張機能ギャラリーから直接インストールできる。Python拡張機能をインストール済みの場合は、Python拡張機能ビューでVS Codeを再起動することで、July 2020リリースに移行できる。

 July 2020リリースでは、15件の機能強化、27件の問題修正、15件のコード改善が行われた。主な強化点は、新しい言語サーバ「Pylance」のサポート、新しい実験的な拡張機能「Gather」のサポート、ノートブックのHTMLやPDFへのエクスポート、リバース接続によるリモートデバッガセッションの簡単な開始だ。以下ではこれらの概要を紹介する。

新しい言語サーバ「Pylance」のサポート

 2020年6月末に発表されたVS Code向け拡張機能であるPylanceは、Microsoftの静的型チェックツール「Pyright」をベースにした言語サーバだ。自動インポート、デッドコード検出、パラメーター情報の提供、マルチルートワークスペースのサポート、コンテキストハイライトなど、Pythonコード作成を支援する多くの機能を提供する。

 自動インポート(出典:Microsoft)
自動インポート(出典:Microsoft、クリックで再生)
 特定のファイルでシンボルが使われている場所を素早く特定できるコンテキストハイライト(出典:Microsoft)
特定のファイルでシンボルが使われている場所を素早く特定できるコンテキストハイライト(出典:Microsoft、クリックで再生)

 PylanceはPyrightの機能を全て含んでおり、Microsoftは、Pyright拡張機能をインストール済みのユーザーに、アンインストールしてPylance拡張機能をインストールするよう勧めている。

 Pylanceは従来の言語サーバ「Microsoft Python Language Server」と比べて、VS CodeでのPython IntelliSense機能が大幅に向上している。Microsoftは将来的に、Python拡張機能でのMicrosoft Python Language Serverのサポートを終了する計画であり、この言語サーバのユーザーにPylanceを試すよう勧めている。

新しい実験的な拡張機能「Gather」のサポート

 Gatherは、ノートブック内で必要なコード依存関係を分析、判定し、コードのクリーンアップを行うことで、面倒で時間のかかる作業を自動化する。Microsoftはこの実験的な拡張機能の精度向上に向けて、コミュニティーにフィードバックを募っている。

 Gatherが機能する様子(出典:Microsoft)
Gatherが機能する様子(出典:Microsoft、クリックで再生)
Gatherの使用前、使用後のコード比較(出典:Microsoft)
Gatherの使用前、使用後のコード比較(出典:Microsoft

ノートブックのHTMLやPDFへのエクスポート

 Python拡張機能のJuly 2020リリースでは、既存ノートブックをHTMLやPDFにエクスポートできるようになり、ノートブックの共有やプレゼンテーションがボタンクリックで簡単に行えるようになった。なお、PDFにエクスポートするには、TeXのインストールが必要になる。

 エクスポートのドロップダウンオプション(出典:Microsoft)
エクスポートのドロップダウンオプション(出典:Microsoft、クリックで再生)

リバース接続によるリモートデバッガセッションの簡単な開始

 VS CodeにおけるPythonデバッガ「ptvsd」をPythonプロセスやリモートマシンに接続する場合、接続リクエストをリッスンするようにリモートPythonプロセスをセットアップし、VS Codeでデバッガセッションを開始する必要がある。だが、接続を適切なタイミングで行うのは難しかった。

 Python拡張機能のJuly 2020リリースでは、リバース接続ができるようにデバッガを構成できるようになった。特定のアドレス(ポート番号またはホストとポートのタプル)で接続するようにリモートPythonプロセスをセットアップし、そのアドレスでのリッスンを開始するようVS Codeで接続を構成することで、そのプロセスへの接続を実現することが可能だ。

 例えば、次のスクリプトを実行し、

     import debugpy
     debugpy.connect(('localhost',5678))
     debugpy.breakpoint()
     print("debugger stops here")

 VS Codeで次の内容のlaunch.json構成を追加できる。

     {
          "name": "Python: Attach using listen",
          "type": "python",
          "request": "attach",
          "listen": {
                "host": "127.0.0.1",
                "port": 5678
          },
     },

 これにより、VS Codeでデバッガを開始し、接続リクエストのリッスンを開始できる。Pythonプロセスを開始すると、デバッガは、定義されたブレークポイントで停止する。

Using Reversed Connection(クリックで再生)
Using Reversed Connection(クリックで再生)

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る