マイクロソフトはPylanceを発表した、プログラマがより優れたPythonコードを記述し、その言語に対するIntelliSenseおよびVisual Studio Codeのサポートを改善することを目的とした、Python用の新しい言語サーバである。
Visual Studio Marketplaceから無料で入手できるPylanceは、Language Server Protocolの実装であり、MicrosoftのPyright静的型チェックツールを使用して豊富な型情報を提供する。拡張機能には、一般的なモジュール用のオートコンプリートおよびタイプチェックを有効にするスタブも多数含まれる。
マイクロソフトによると、2018年に最初にリリースされたMicrosoft Python Language Serverは最終的にPylanceに置き換わる。現時点では、Microsoftがそれをオープンソース化する計画はないと、MicrosoftのプログラムマネージャSavannah Ostrowski氏は述べる。これはちょっと印象的な決定である。それは
Pylanceは、Visual Studio CodeでのPythonエクスペリエンスの大幅な改善を表しており、私たちのチームは何ヶ月にもわたって取り組んできました。新しい無料の言語サーバは、パフォーマンスの向上と多くの機能を提供します。そのため、私たちのチームの焦点はPylanceに移行し、進化を続けます。
関数シグネチャでのタイプ情報の提供に加えて、シンボルにホバーするとき、Pylanceは利用可能な標準ライブラリモジュールのスマートインポートの提案も提供する。
(画像提供 Microsoft)
前述のように、PyrightはPylanceの型チェックを強化する。これは、コードベースに対して基本的または包括的な一連のルールで実行できる。
(画像提供 Microsoft)
タイプチェックを有効にするには、python.analysis.typeCheckingMode
をbasic
またはstrict
に設定する。他の便利な設定には、ユーザが個々の診断の重大度レベルをオーバーライドできるpython.analysis.diagnosticSeverityOverrides
、ユーザがカスタムタイプのスタブを含むディレクトリへのパスを指定できるpython.analysis.stubPaths
、その他がある。
PylanceはVisual Studio Codeのマルチルートワークスペースをサポートしている。つまり、同じVSCセッション内で開かれた複数のフォルダでシームレスに動作する。
Pylanceが提供する機能は、ドキュメント文字列、パラメータの提案、コードの概要とナビゲーション、その他がある。
メモの最後に、PylanceはJupyter Notebooksと互換性があり、タイプ情報のパッケージ化と配布のための標準形式である.pyiをサポートしている。