Help us understand the problem. What is going on with this article?

[Python]PylanceのVS Code拡張機能をさっそく使ってみた。

VS Codeなどで使えるPylanceという拡張機能がリリースされていたので早速使ってみました。

参考 : 型ヒントでPython開発を加速 ~Microsoft、VS Code向けの拡張機能「Pylance」を発表

(大雑把に)どんな拡張機能?

  • マイクロソフト製のPythonの拡張機能です。
  • Python拡張機能に入っているようなPythonの入力補完周りが有効になります。これはまあ大半のVS Code使ってPythonのコード書いている方はPythonの拡張機能入れていらっしゃるでしょうからそこまでは大きく変わりません。
  • 以前書いたPythonの型チェック用のPyrightと同じように、コードを書きつつ型のミスや補完が効きづらい箇所で型アノテーションをすることで補完が効くようになってくれます(内部でPyrightが使われています)。
  • importが足りない箇所のエラーのチェックと、足りないimportをコードに挿入してくれる選択肢を出してくれます。
  • この記事を書いている2020-07-02時点ではまだPreview版です。

インストール方法

VS Codeの拡張機能のページでpylanceなどと検索してインストールするだけです。

image.png

ただし、私の場合はPyrightの拡張機能を事前に入れたままだったのですが、競合したのかPylanceをインストールしたらエラーが出るようになりました。Pyrightの拡張機能を無効化した後にVS Codeを再起動したらエラーが無くなりました。

型チェックを有効化する

デフォルトだと型チェックの機能が無効になっています。有効化するにはVS Codeの設定画面を開いて、「python.analysis.typeCheckingMode」を検索して、設定をbasicもしくはstrictに切り替えます。

image.png

basicは型アノテーションがしてある箇所で正しいかどうかがチェックされるといった具合の少し緩い感じのチェックのようです。

strictは型アノテーションなどがしていない箇所自体もエラーになったりするようです。最初からstrictであれば問題ありませんが、途中から型アノテーションをはじめてstrict設定をすると既存コードでエラーがたくさん出てきてちょっと辛い感じではあります:sweat:

importエラー時に該当するimportを挿入する

Pyrightなどに無かった?機能として、Pythonコードでimportをし忘れていたといったときに、importをしてくれる機能がPylanceに追加になっています。

この機能、Pythonではない他の言語を使って仕事をしていた頃似たようなものを結構愛用していたので、使えるようになって嬉しい感じです!

importが足りないケースなどでは以下のようにVS Code上で赤い下線によるエラー表示になります。

image.png

その状態でカーソル位置をエラーになっている部分(画像ではnp)に合わせると、電球らしきアイコンが出てきます。

image.png

この状態でCtrl + .を押すか、電球アイコンをクリックすると挿入するimportのリストを表示してくれます。numpyとかとやらずにnpとかでもちゃっと認識してくれるのは賢い・・・!

image.png

該当のものを選択すると、import文が挿入されます。

image.png

また、この機能はマウスオーバー時に表示されるポップアップ上の「Quick Fix...」をクリックしても同様の機能が使えました。

image.png

simonritchie
4年間デザインの学校 → デザイナー → 2Dゲームのクライアントエンジニア → しがないデータエンジニア(いまここ)。勉強の側面が強いので、マイナーな記事も多く書きます。色々できるようになりたい。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした