前回の続きです。
今回は Windows10 のVisual Studio Codeで
- Formater が機能する
- デバッグができる
ようにします
Visual Studio Code の準備 の続き
Formater設定 - 準備
Visual Studio Codeの Python拡張は、AutoPep8、Yapfに対応していて、
初期設定で AutoPep8 が有効になっています。
しかし、パッケージが無いので、ドキュメントのフォーマットを行うと、
以下のエラーが発生します
Formatter autopep8 is not installed.
以下のコマンドでパッケージを確認すると
conda list | Select-String autopep8 conda list | Select-String yapf
どっちも無いので、Yapf を追加することにします。
Yapf を選定した理由は、
- なんか新しい
- 攻撃的なフォーマットをしそう(いい意味で)
です。
Formater設定 - Yapf パッケージ追加
Flake8 パッケージを追加したときのように、以下のコマンドを実行します
anaconda search -t conda -p win-64 yapf
先頭の conda-forge/yapf を追加する為に、
以下のコマンドでインストールコマンドを取得します
anaconda show conda-forge/yapf
最後にあるインストールコマンドを実行します
conda install --channel https://conda.anaconda.org/conda-forge yapf
途中 Proceed ([y]/n)? となるので y としました。
以下のコマンドでインストール確認を行います
conda list | Select-String yapf yapf --version
バージョンは以下のようになりました
yapf 0.21.0
Visual Studio Codeの ファイル -> 基本設定 -> 設定 を開き、
以下の設定値をユーザー設定に追加
"python.formatting.provider": "yapf",
Formater設定 - 動作確認
前回利用した bad-source.py で確認しても微妙な結果になるので、
Yapf 公式にあるサンプルを利用します
以下の内容を yapf-sample.py で作成します
x = { 'a':37,'b':42, 'c':927} y = 'hello ''world' z = 'hello '+'world' a = 'hello {}'.format('world') class foo ( object ): def f (self ): return 37*-+2 def g(self, x,y=42): return y def f ( a ) : return 37+-+a[42-x : y**3]
保存すると、グチャグチャだったソースコードがキレイになります
x = {'a': 37, 'b': 42, 'c': 927} y = 'hello ' 'world' z = 'hello ' + 'world' a = 'hello {}'.format('world') class foo(object): def f(self): return 37 * -+2 def g(self, x, y=42): return y def f(a): return 37 + -+a[42 - x:y**3]
デバッグ設定
Visual Studio Code の デバッグ -> 構成の追加 を開き、
表示されるコマンドパレットから Python を選択
すると、Python の構成が追加された launch.json が作成されます
デバッグ
- Visual Studio Code 左端の 虫 アイコンを押下
- その1で作成した hoge.py を開き、3行目にブレークポイントを追加する
- Visual Studio Codeの デバッグ -> デバッグの開始 を選択
- 表示される でデバックツールバー の左端の再生(▶)アイコンを押下
ブレークポイントで停止します
ここまでできれば、Visual Studio Code のデバッグと同じです。
まとめ
これで当初予定していた
- Windows10 のVisual Studio CodeでPythonが動く
- Pythonのモジュール numpy が動く
- Lint、Formaterが機能する
- デバッグができる
が全部できるようになりました
あとは、Python でいろいろ書いてみるだけです。