如何防止 PyDev 的 autopep8 导入格式化程序移动 site.addsitedir() 调用?
How to prevent PyDev's autopep8 import formatter from moving site.addsitedir() calls?
Eclipse PyDev 插件包括出色的集成 autopep8
支持。它在保存时自动将代码格式化为 PEP8 样式,有几个旋钮和选项可以根据您的需要进行定制。
但是 autopep8
导入格式化程序破坏了 site.addsitedir()
用法。
import site
site.addsitedir('/opt/path/lib/python')
# 'ourlib' is a package in '/opt/path/lib/python', which
# without the above addsitedir() would otherwise not import.
from ourlib import do_stuff
并且在 PyDev 的 autopep8
导入格式化程序之后,它将其更改为:
import site
from ourlib import do_stuff
site.addsitedir('/opt/path/lib/python')
用 ImportError: No module named ourlib
打破 from ourlib import do_stuff
。
问题:
是否有 PyDev 设置或 autopep8
命令行选项来阻止它移动 site.addsitedir()
调用?
我能找到的最佳选择是在 PyDev 中关闭导入排序。这不是一个完整的解决方案,但比完全关闭 autopep8
代码格式要好。
只需取消选中 Eclipse/PyDev 首选项中的 Sort imports on save?
选项。
对于带有 PyDev 3.9.2 的 Eclipse Kepler,Service Release 2,您可以在这里找到它:
Windows -> Preferences
--> PyDev -> Editor -> Save Actions
----> "Sort imports on save?" (uncheck)
老歌但仍然相关,因为我发现了这个问题。
我正在使用 VSCode 和 autopep8。
您可以通过向相关行添加 # nopep8
来禁用格式设置。
ps。检查了 link 的文档,但找不到它:(
Eclipse PyDev 插件包括出色的集成 autopep8
支持。它在保存时自动将代码格式化为 PEP8 样式,有几个旋钮和选项可以根据您的需要进行定制。
但是 autopep8
导入格式化程序破坏了 site.addsitedir()
用法。
import site
site.addsitedir('/opt/path/lib/python')
# 'ourlib' is a package in '/opt/path/lib/python', which
# without the above addsitedir() would otherwise not import.
from ourlib import do_stuff
并且在 PyDev 的 autopep8
导入格式化程序之后,它将其更改为:
import site
from ourlib import do_stuff
site.addsitedir('/opt/path/lib/python')
用 ImportError: No module named ourlib
打破 from ourlib import do_stuff
。
问题:
是否有 PyDev 设置或 autopep8
命令行选项来阻止它移动 site.addsitedir()
调用?
我能找到的最佳选择是在 PyDev 中关闭导入排序。这不是一个完整的解决方案,但比完全关闭 autopep8
代码格式要好。
只需取消选中 Eclipse/PyDev 首选项中的 Sort imports on save?
选项。
对于带有 PyDev 3.9.2 的 Eclipse Kepler,Service Release 2,您可以在这里找到它:
Windows -> Preferences
--> PyDev -> Editor -> Save Actions
----> "Sort imports on save?" (uncheck)
老歌但仍然相关,因为我发现了这个问题。
我正在使用 VSCode 和 autopep8。
您可以通过向相关行添加 # nopep8
来禁用格式设置。
ps。检查了 link 的文档,但找不到它:(