タイトルの通り、Sublime Text 3にSublime Linterを追加して、さらにPython用の設定(pep8, pep257)をします。
Package Controlを導入
Package Controlのページの説明の通りです。
Sublime Textを起動後、Ctrl + ` もしくは、ツールバーの Views > Show Console からコンソールを起動します。
以下の内容をコピー&ペーストして、Enterを押せば完了。
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
SubLimeLinterを追加
Ctrl + Shift + PでCommand Paletteを開いて、"ins"と入力、Install Packageを選択します。
"sublimelinter"と入力し、SublimeLinterを選択するとインストールされます。
少し分かりにくいですが、インストール中はステータスバーに [ = ] が表示されます。
同様に、SublimeLinter-pep8, SublimeLinter-pep257もインストールします。
pep8, pep257のインストール
pipを使ってpep8, pep257をインストールします。
$ sudo pip3.3 install pep8 もしくは
$ sudo pip install pep8
$ sudo pip install pep257
SublimeLinterの設定
最後にSublime Textを再起動すればすぐに利用可能ですが、このままでは少しうるさいので設定を変更します。
PEP8に完全に則ってコーディングをする場合は設定は不要です。
こんな感じで、ソースコードを読みやすくするための空白にもエラーが出てしまいます。
Package Settings > SublimeLinter > Settings User を選択、編集します。
まず、注意・警告部分を「囲む」のではなく、「下に波線を表示」にします。
// "mark_style": "outline", の行を削除して以下の行を挿入
"mark_style": "squiggly underline",
その他波線以外の形式は、
画像付きでこちらに掲載されています。
続いて、コードを読みやすくするための空白を許すように変更します。
// "ignore"内にカンマ区切りで記入
"pep8": {
"ignore": "E203,E221,E241,E272",
}
"ignore"内に、無視するルール名をカンマ区切りで書いていきます。
今回は、以下の4つを設定しました。
E203 : コロンの前の空白禁止
E221 : イコールなどの演算子の前に複数の空白を入れてはいけない
E241 : カンマの後に複数の空白を入れてはいけない
E272 : キーワードの前に複数の空白を入れてはいけない
その他のルールは、
pep8のドキュメントに書いてありますので、そちらを参照して下さい。
うん、そんなにうるさくエラーを吐かなくなりました。
あんまり厳しくルールを縛られると、コーディングが億劫になっちゃいますからね笑