python 在VSCode中将autosave与black和isort一起使用时,isort不起作用

neekobn8  于 2023-09-29  发布在  Python
关注(0)|答案(3)|浏览(117)

我想在Visual Studio Code中使用autosave,并应用flake8、mypy、isort和black等常用工具。
Flake8,mypy和black都可以正常工作,但是isort根本不工作。有办法解决这个问题吗?
我的settings.json文件看起来像这样:

{
  "python.terminal.activateEnvInCurrentTerminal": false,
  "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe",
  "python.linting.enabled": true,
  "python.linting.lintOnSave": true,
  "python.linting.pylintEnabled": false,
  "python.linting.flake8Enabled": true,
  "python.linting.flake8Path": "${workspaceFolder}\\.venv\\Scripts\\pflake8.exe",
  "python.linting.mypyEnabled": true,
  "python.formatting.provider": "black",
  "[python]": {
    "editor.codeActionsOnSave": {
      "source.organizeImports": true
    },
    "editor.formatOnSave": true
  }
}
a2mppw5e

a2mppw5e1#

我已经解决了这个问题。我不知道“isort”是vscode的默认设置,所以我卸载了它。
我重新安装了“isort”。我修改了“settings.json”如下:

{
  "python.terminal.activateEnvInCurrentTerminal": false,
  "python.defaultInterpreterPath": "${workspaceFolder}\\.venv\\Scripts\\python.exe",
  "python.linting.enabled": true,
  "python.linting.lintOnSave": true,
  "python.linting.pylintEnabled": false,
  "python.linting.flake8Enabled": true,
  "python.linting.mypyEnabled": true,
  "python.formatting.provider": "black",
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.organizeImports": true,
  },
  "isort.args": [
    "--profile",
    "black"
  ]
}
fcg9iug3

fcg9iug32#

您可以尝试将以下行添加到settings.json文件中:
"python.sortImports.path": "${workspaceFolder}\\.venv\\Scripts\\isort.exe"
之后,保存settings.json文件并重新启动VS Code。希望这个回答能对你有所帮助

djmepvbi

djmepvbi3#

或者,考虑使用

它是isort、black和其他linting工具的一个非常高效和流行的实现,可以作为一个单独的包使用。
然后,只需设置ruff在自动保存时格式化文件。

相关问题