Emacs设置以遵循编码准则

Astropy编码指南列于 编码指南 . 这里,我们将描述如何配置Emacs,以帮助确保Python代码满足准则。

对于此设置,我们将添加到标准 python-mode 使用 flycheck 以及 flake8 python样式检查器。有关安装说明,请访问它们各自的网站(或通过您的发行版安装;例如,在Debian/Ubuntu中,这些包被调用 elpa-flycheckflake8

备注

Emacs可以用几种不同的方式进行配置。因此,下面只介绍了各个配置,而不是提供一个下拉式配置文件。

下面的设置是故意最小化的。原则上,可以使用 Emacs for Python development ,例如。, elpy .

无标签页

此设置将导致缩进对所有文件使用空格而不是制表符。如果按了python文件的缩进键4,则缩进键将被使用。

;; Don't use TABS for indentations.
(setq-default indent-tabs-mode nil)

删除尾随空格

一个可以 delete trailing whitespace 具有 M-x delete-trailing-whitespace . 要确保每次保存python文件时都执行此操作,请使用:

;; Automatically remove trailing whitespace when file is saved.
(add-hook 'python-mode-hook
(lambda () (add-to-list 'write-file-functions 'delete-trailing-whitespace)))

如果要对每种类型的文件使用此选项,可以使用 (add-hook 'before-save-hook 'delete-trailing-whitespace) .

飞行支票

可以使用 flycheck. 当光标位于这样一条线上时,小缓冲区中会显示一条消息。当鼠标指针在这条线上时,还会显示“工具提示”消息。默认情况下, flycheck 会检查是否 flake8 如果安装了,则使用它进行语法检查。确保 flycheck 从打开python文件开始,添加:

(add-hook 'python-mode-hook 'flycheck-mode)

或者,您可以使用 (global-flycheck-mode) 对它支持的所有语言运行flycheck。