emacs:python为缩进设置制表符(pylint、autopep8、flycheck等问题)

2024-06-26 14:26:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为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、autoep8等的问题

例如,pylint抱怨使用制表符,autoep8自动修复制表符并将其替换为空格,以及其他一些与我使用制表符而不是空格有关的错误。在

我可以禁用一些错误检查(例如E123等),然后我可以让它与pylint、autopep8、flycheck等一起工作。实际上,我尝试了一点,我认为我可以让它工作,但这似乎是一种“野蛮”的方法。在

有没有一种优雅/简洁的方法让emacs在python中使用制表符而不是空格进行缩进,同时尽可能避免来自其他插件(pylint、autopep8、flycheck等)的抱怨?在


Tags: 工具方法mode错误hook制表符pylintemacs
1条回答
网友
1楼 · 发布于 2024-06-26 14:26:05

我不用autoep8或flycheck,但我用的是pylint。您可以使用pylint的 indent-string选项来使用制表符而不是空格。在

(setq pylint-options (append pylint-options '(" indent-string='    '")))

相关问题 更多 >