VSCode: как настроить 'Организовать импорт' для Python (isort)
Зеркальный вопрос к
- " ", Как настроить порядок импорта VSCode?Который относится к проекту .js.
Я хочу настроить, как VSCode вызывает isort , чтобы я мог настраивать при вызове
Organize imports
в файле .py.
В частности, VSCode начал удалять пустую строку между двумя isort-секциями, не знаю почему.
from django...
from myproject... # removing blanck line between 2 sections
5 ответов
В VS Code расширение «Python» предоставляет нам следующие настройки, которые могут объединять определенные операции импорта из одного модуля в один оператор импорта и упорядочивать операторы импорта в алфавитном порядке. (в файле "settings.json")
"python.sortImports.args": ["-rc", "--atomic"],
Для использования «Сортировка импорта» в VS Code см. Этот документ: Сортировка импорта в VS Code.
Ты можешь сделатьisort
совместим сblack
и наслаждайтесь отформатированным кодом при сохранении документа. Вот два способа добиться этого:
- Вы можете настроить и параметры на . Внутри папки вашего корневого проекта создайте/обновите свой
pyproject.toml
файл:
[tool.isort]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
line_length = 88
profile = "black"
- Редактировать
settings.json
и настроитьBlack
иIsort
.
{
"[python]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
},
"python.formatting.provider": "black",
"python.sortImports.args": ["--profile", "black"],
}
source.organizeImports: true
автоматически запускает Isort при сохранении документа.
По состоянию на конец 2022 г.python.sortImports
настройка из vscode-python будет удалена. Смотрите ссылку.
VS Code хочет, чтобы мы вместо этого использовали vscode-isort . Например, общая конфигурация
"python.sortImports.args": ["--profile", "black"],
следует заменить на
"isort.args": ["--profile", "black"],
В противном случае вы увидите
"Эта настройка скоро будет удалена. Используйте
isort.args
вместо."
сообщение.
Вы можете установить расширение Isort в VSCode , как показано ниже. *Я использую Anaconda в Windows 11:
Затем установите приведенный ниже код на . *Вы можете увидеть мой ответ, объясняющий, как открыть:
// "settings.json"
"[python]": {
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
Это ниже мое полноеsettings.json
с приведенным выше кодом:
// "settings.json"
{
"python.defaultInterpreterPath": "C:\\Users\\kai\\anaconda3\\python.exe",
"window.zoomLevel": 3,
"files.autoSave": "afterDelay",
"breadcrumbs.enabled": false,
"[python]": { // Here
"editor.codeActionsOnSave": {
"source.organizeImports": true
}
}
}
См. мой ответ в разделе «Как определить, какой isort является vscode», где я описываю шаги, чтобы увидеть, что на самом деле происходит. Вы увидите команду вместе с аргументами. Версия isort, встроенная в подключаемый модуль Microsoft Python, не отображается как isort. Вместо этого это sortImports.py. У него есть путь, поэтому вы можете посмотреть код для получения дополнительной информации.