VS Codeなどで使えるPylanceという拡張機能がリリースされていたので早速使ってみました。
参考 : 型ヒントでPython開発を加速 ~Microsoft、VS Code向けの拡張機能「Pylance」を発表
(大雑把に)どんな拡張機能?
- マイクロソフト製のPythonの拡張機能です。
- Python拡張機能に入っているようなPythonの入力補完周りが有効になります。これはまあ大半のVS Code使ってPythonのコード書いている方はPythonの拡張機能入れていらっしゃるでしょうからそこまでは大きく変わりません。
- 以前書いたPythonの型チェック用のPyrightと同じように、コードを書きつつ型のミスや補完が効きづらい箇所で型アノテーションをすることで補完が効くようになってくれます(内部でPyrightが使われています)。
- Pyrightの記事: 入力補完を充実させ、より堅牢なPythonコードのための型アノテーションとPyright入門
- importが足りない箇所のエラーのチェックと、足りないimportをコードに挿入してくれる選択肢を出してくれます。
- この記事を書いている2020-07-02時点ではまだPreview版です。
インストール方法
VS Codeの拡張機能のページでpylanceなどと検索してインストールするだけです。
ただし、私の場合はPyrightの拡張機能を事前に入れたままだったのですが、競合したのかPylanceをインストールしたらエラーが出るようになりました。Pyrightの拡張機能を無効化した後にVS Codeを再起動したらエラーが無くなりました。
型チェックを有効化する
デフォルトだと型チェックの機能が無効になっています。有効化するにはVS Codeの設定画面を開いて、「python.analysis.typeCheckingMode」を検索して、設定をbasicもしくはstrictに切り替えます。
basicは型アノテーションがしてある箇所で正しいかどうかがチェックされるといった具合の少し緩い感じのチェックのようです。
strictは型アノテーションなどがしていない箇所自体もエラーになったりするようです。最初からstrictであれば問題ありませんが、途中から型アノテーションをはじめてstrict設定をすると既存コードでエラーがたくさん出てきてちょっと辛い感じではあります
importエラー時に該当するimportを挿入する
Pyrightなどに無かった?機能として、Pythonコードでimportをし忘れていたといったときに、importをしてくれる機能がPylanceに追加になっています。
この機能、Pythonではない他の言語を使って仕事をしていた頃似たようなものを結構愛用していたので、使えるようになって嬉しい感じです!
importが足りないケースなどでは以下のようにVS Code上で赤い下線によるエラー表示になります。
その状態でカーソル位置をエラーになっている部分(画像ではnp
)に合わせると、電球らしきアイコンが出てきます。
この状態でCtrl + .
を押すか、電球アイコンをクリックすると挿入するimportのリストを表示してくれます。numpyとかとやらずにnpとかでもちゃっと認識してくれるのは賢い・・・!
該当のものを選択すると、import文が挿入されます。
また、この機能はマウスオーバー時に表示されるポップアップ上の「Quick Fix...」をクリックしても同様の機能が使えました。