在VSCode中禁用python导入排序

Luk*_*mit 7 python format visual-studio-code

保存文件时,我试图禁止vscode格式化我的python导入。我有一些必须在各种导入之间运行的代码,因此顺序很重要,但是每次保存时,都只会将导入推到顶部。

我试着把

"editor.codeActionsOnSave": {
    "source.organizeImports": false
},
Run Code Online (Sandbox Code Playgroud)

在我的用户设置中,但这并不能解决问题。

谢谢!

编辑-我想保持格式上保存,除了导入

Yed*_*hin 14

检查vscode设置中的以下设置,如果为true,则将其设置为false,以在保存时完全禁用格式设置,如下所示:

 "editor.formatOnSave": false
Run Code Online (Sandbox Code Playgroud)

为了格式化并忽略导入本身不是最重要的事情,请首先将上述设置设置为true,然后将其添加到用户设置中,然后尝试将此设置添加到用户设置中(如果您使用的是Python的默认格式化程序,即autopep8):

"python.formatting.autopep8Args": ["--ignore","E402"]  
Run Code Online (Sandbox Code Playgroud)

其中E402表示“模块级别导入不在文件顶部”

请注意,这仅在使用默认格式化程序/衬纸时有效。如果您正在使用其他短绒棉,那么我建议您查阅他们的文档,看看它是如何完成的。像最常见的情况一样,可以使用全局配置文件,例如$ HOME / .config / .pycodestyle,然后在其中添加必要的设置,例如:

[pycodestyle]
ignore = E402  
Run Code Online (Sandbox Code Playgroud)

编辑:格式化程序的参数应作为单独的列表项传递,并用引号引起来,例如[“ --ignore”,“ E402”],而不是[--ignore = E402]

  • 不确定,但是您可以试试这个吗:```“ python.formatting.autopep8Args”:[“ --ignore”,“ E402”]```。就像将args作为引号内的单独列表项 (3认同)