結局、Atomエディタのlinterが動いた話
2年前にPythonの勉強を始めた際、Atomエディタにlinterを入れて、コードのpep8によるコーディング規約との整合性のチェック機能を追加しようとしたら、うまくいきませんした。
その時の状況を「Atomエディタのlinterが動かない話 - 週末文書」という記事に書いて本ブログに投稿したところ、今でもちらほらアクセスがあります。
単なる「動かなかった」という話をそのままにしておくのも気持ちが悪いし、やっぱり整ったコードを楽に書ける環境がほしいと思い、改めてAtomへのlinterパッケージを導入をやってみることにしました。
今回参考にさせてもらったのは、「AtomでPythonの開発環境を整える(linter, atom-beautify)」という記事です。
自機の環境
pycodestyle のインストール
こちらの記事によると、前回私が導入したpep8はすでに使われていなくなっており、現在はpycodestyleが使用されているということです。
このため、まず、
$ pip install pycodestyle
により、pycodestyleをインストールしました。
Atom上でのlinterパッケージの導入
その後は、上記記事で必要パッケージとされる、下記のパッケージをAtomの環境設定メニューにてインストールしました。
linter
busy-signal
intentions
上記記事にあったlinter-pycodestyleとlinter-ui-defaultは、パッケージのインストール項目の検索で見つからなかったため、インストールしないでやってみることにしました。
atom-beautifyのインストール
チェックだけではなく整形も自動化できると嬉しい……ということで、続いて、atom-beautifyパッケージもAtomの環境設定でインストールしました。
さらに、上記記事で必要と書かれているautopep8もpipでインストールしました。
$ pip install autopep8
linter動きました
これらのパッケージやコンポーネントをインストールした後、Atomを再起動して、適当な Pythonコードのファイルを動かしてみたら……動きました。
上のスクリーンショットにあるように、Atomウィンドウの一番下のパネルにlinterのチェック結果が表示されています。
コードが表示されるペインには、linterのチェックに対応した行の行番号の右側にオレンジのドットが表示されています。
また、linterパネルのDescriptionカラムの項目をクリックすると、コードの対応する行にチェック結果のメッセージが表示され、どこをどのように修正すべきか指示されます。
さらに、コード内でCtrl+クリック(Windowsで言う右クリック)をすると、下のメニューの画像のように、自動整形のための「Beautyfy editor contents」という選択項目が追加されています。
この項目を選ぶと、linterにチェックされた項目が自動的に整形され(全てではありません)、チェック結果のパネルからも指摘項目が無くなります。