2

Python 開発用に emacs をセットアップしました。elpy や、autopep8、pylint、flycheck などのツールを使用して、構文やスタイルの問題について emacs からフィードバックを得ています。推奨されるアプローチ (pep8) であるインデントにスペースを使用します。すべてがうまく機能します。

仕事ではインデントにタブを使用しており、そのために emacs をセットアップしたいと考えています。私は自分のemacsに以下を追加しましたが、うまくいくようです。

(add-hook 'python-mode-hook
(lambda ()
   (setq indent-tabs-mode t)
   (setq python-indent 4)
   (setq tab-width 4)))

問題は、これらの行を追加した後、pylint、autopep8 などで多くの問題が発生することです。

たとえば、pylint はタブの使用について不平を言い、autopep8 は自動的にタブを修正し、それらをスペースに置き換えます。また、スペースの代わりにタブを使用するという事実に関連するその他の多くのエラーも発生します。

エラーチェックの一部 (E123 など) を無効にしてから、pylint、autopep8、flycheck などで動作させることができます。 「残忍な」アプローチ。

Python でインデント用のスペースの代わりにタブで emacs を動作させると同時に、他のプラグイン (pylint、autopep8、flycheck など) からの苦情をできるだけ回避するエレガントできちんとした方法はありますか?

4

1 に答える 1

1

autopep8 や flycheck は使用しませんが、pylint を使用します。--indent-stringpylintのオプションを使用して、スペースの代わりにタブを使用できます。

(setq pylint-options (append pylint-options '("--indent-string='    '")))
于 2016-05-16T04:28:08.397 に答える