Microsoft の Visual Studio Code (Linux、macOS、Windows 向けの同社の Electron ベースのソースコード エディター) に同社の Python 言語サーバーが付与され、人気のプログラミング言語でよりスムーズに使用できるようになりました。
マイクロソフトによると、この言語サーバーは同社のIntelliSenseオートコンプリートシステムを支えるもので、このシステムはつい最近、他のコーディングツールでも利用できるよう同社のVisual Studio IDEから分離されました。この言語サーバーは、特定のプログラミング言語におけるサーバーと開発ツールの連携方法を制御するマイクロソフトの言語サーバープロトコルを実装しています。
IntelliSense は、自然言語解析が容易で、アニメーション化への欲求を抑えることができたなら、Microsoft Office Assistant Clippy(別名 Clippit)がどんなものになっていたかを示すものです。プログラミングコードという明確なドメインとやり取りし、Microsoft が多大な労力を費やした結果、IntelliSense はソーシャルインタラクションに重点を置いた支援システムよりもはるかに適切な自動アシスタンスを提供することに成功しています。
プログラミング言語はそれぞれ独自の癖があるため、言語サーバーでは個別に扱う必要があります。例えばPythonは動的型付け言語であり、変数のデータ型が変化する可能性があります。そのため、静的型付けのコードに関する提案を行うために使用できる推論は、Pythonでは機能しません。
GitHubからPythonistaへ:脆弱なコードからあなたを守りましょう
続きを読む
Visual Studio Code のユーザーは、これまでも IntelliSense と Python 拡張機能をご利用いただいてきました。Python 言語サーバーの登場により、コード補完エクスペリエンスがより向上し、より包括的になります。
「当社の Python 言語サーバーは、反復的なフルプログラム分析を使用して、プロジェクト内のすべてのコードの実行をシミュレートしながら、プロジェクト内のすべての変数の型を追跡します」と、Microsoft の主席ソフトウェア エンジニアである Brett Cannon 氏はブログ投稿で説明しています。
「通常、このようなアプローチは複雑なプログラムの場合は何時間もかかり、無制限の量の RAM を必要としますが、私たちは IntelliSense が使用できるほど速く完了するようにさまざまなトリックを使用しました。」
Python言語サーバーを使用すると、Pythonコードを書く開発者は、入力時に構文エラーがフラグ付けされるのを確認できます。参照先のモジュールが見つからない場合は警告が表示されます。また、型推論を支援するTypeshedファイルを使用して、モジュールの補完候補を補完することもできます。
起動時間とインポート時間も改善されるはずです。
Python言語サーバーは、Windows、macOS、Linux上の.NET Coreで動作します。Python 2.5から3.7をサポートし、async/awaitなどの最新の言語機能もサポートしています。Visual Studio Code向けの最新のPython拡張機能では、オプトインプレビュー機能としてご利用いただけます。Visual Studio MarketplaceまたはVisual Studio Codeの拡張機能ギャラリーからダウンロードできます。
これを有効にするには、File > Preferences > Settings
Visual Studio Code に移動して設定を追加します。
"python.jediEnabled": 偽
®