週末文書

とりあえず、まぁ、週末です。

結局、Atomエディタのlinterが動いた話

2年前にPythonの勉強を始めた際、Atomエディタにlinterを入れて、コードのpep8によるコーディング規約との整合性のチェック機能を追加しようとしたら、うまくいきませんした。

その時の状況を「Atomエディタのlinterが動かない話 - 週末文書」という記事に書いて本ブログに投稿したところ、今でもちらほらアクセスがあります。

単なる「動かなかった」という話をそのままにしておくのも気持ちが悪いし、やっぱり整ったコードを楽に書ける環境がほしいと思い、改めてAtomへのlinterパッケージを導入をやってみることにしました。

今回参考にさせてもらったのは、「AtomでPythonの開発環境を整える(linter, atom-beautify)」という記事です。

自機の環境

  • マシンは、2011年購入の古いMacinbook Air上のMacOSです。バージョンは……古くて恥ずかしいので秘密。
  • Atomは、先日Pythonの勉強を再開した際にインストールし直しました。バージョンは、1.57.0です。
  • python自体もpyenvを使ってインストールし直して3.9.6にしています。

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コードのファイルを動かしてみたら……動きました。

f:id:medihen:20210817155309p:plain
Linterチェック結果の表示

上のスクリーンショットにあるように、Atomウィンドウの一番下のパネルにlinterのチェック結果が表示されています。

コードが表示されるペインには、linterのチェックに対応した行の行番号の右側にオレンジのドットが表示されています。

また、linterパネルのDescriptionカラムの項目をクリックすると、コードの対応する行にチェック結果のメッセージが表示され、どこをどのように修正すべきか指示されます。

さらに、コード内でCtrl+クリック(Windowsで言う右クリック)をすると、下のメニューの画像のように、自動整形のための「Beautyfy editor contents」という選択項目が追加されています。
この項目を選ぶと、linterにチェックされた項目が自動的に整形され(全てではありません)、チェック結果のパネルからも指摘項目が無くなります。

f:id:medihen:20210817155355p:plain
Ctrl-クリックによるメニュー表示