Python3.5環境でBlack

やりたいこと

Python3.5開発環境でBlackを使いたい

Python code Formatter

Black Github
新生のPython Code Formatter
ロゴがかっこいい。。

python3.6+のため、Python3.5系環境では入れれず
家のMacではVIMから呼び出して遊び、会社で使うことを諦めていました。

時はきた

諦め切れず、パラパラドキュメントを見ていると気づいた
Pycharm Extensionとしての呼び出し方が書いてある!!

Pycharmはcondaや、pyenvのenv環境をProject毎に設定することが可能です。
このため、Python3.5開発環境でもExtensionだけをPython3.6のenv指定すればいけるはず!

やってみた

まずはBlack用の仮想環境を作成

C:\Windows\System32>conda create -n dev python=3.6

C:\Windows\System32>activate dev

(dev) C:\Windows\System32>pip install black

(dev) C:\Windows\System32>black --help Usage: black [OPTIONS] [SRC]...

The uncompromising code formatter.

(dev) C:\Windows\System32>where black d:\Anaconda3\envs\dev\Scripts\black.exe(★)


Extension Toolsとしての登録

公式の設定をもとにPycharmの設定

  • File -> Settings -> Tools -> External Tools.
  • Click the + icon to add a new external tool with the following values:
    • Name: Black
    • Description: Black is the uncompromising Python code formatter.
    • Program: <★のPATH>
    • Arguments: $FilePath$


Extension Toolsをキーマップ設定

  • File -> Settings -> Keymap -> External Tools -> External Tools - Black
  • ダブルクリック -> Add Keyboard Shortcut
  • ショートカットを入力
    • PycharmのReformattingが「Ctrl+Alt+L」なので「Alt+L」にしました。
    • 参考

Alt+Lをやってみる!

Sklearnからソースを拝借して、PycharmのDefaultFormatterが左、右がBlackになります。
配列や辞書回りのコード整形と、引数周りのコード整形が走っているのがわかります。
後、自動的に辞書配列のところに[,]入れてくれてます。

Pycharmなら手軽に実行できて素晴らしい!!