__
/ / __ __
---________ _____/ /____ ____/ /
/ / ___/ __ \/ ___/ __/ _ \/ __ /
/ /__ / /_/ / / / /_/ __/ /_/ /
/_/____/\____/_/ \__/\___/\__,_/
isort
integration for Sublime Text. Make your imports great again.
Allows to use any externally installed isort
by your favorite package manager…
Just find isorted
in Package Control
or install manually by navigating to Sublime's Packages
folder and cloning this repository:
git clone https://github.com/rimvaliulin/isorted.git
Install isort
if you haven't already:
pip3 install isort
isort
config filesisort
looks for the closest supported config files in the order listed: .isort.cfg
, pyproject.toml
, setup.cfg
, tox.ini
and .editorconfig
(.isort.cfg
and pyproject.toml
are preferred formats). isort
will traverse up to 25 parent directories until it finds a suitable config file. isort
will not leave a git or Mercurial repository (checking for a .git or .hg directory). As soon as it finds a file, it stops looking. The config file search is done relative to the current directory if isort
or a file stream is passed in, or relative to the first path passed in if multiple paths are passed in. isort
never merges config files together due to the confusion it can cause. You can manually specify the settings file or path by setting --settings-path
from the command-line. See more: https://pycqa.github.io/isort/docs/configuration/config_files.html
Add a isort
command line options to Sublime Text settings (see: isort --help
). Use long arguments (double dashed) and change hyphens to underscores to better look. This settings will be added directly to command line call and override any isort
config file settings: .isort.cfg
, pyproject.toml
, setup.cfg
, tox.ini
, .editorconfig
etc.
Just add isorted
as prefix:
{
"settings": {
"isorted.isort_command": ["poetry", "run", "isort"],
"isorted.isort_on_save": true,
"isorted.profile": "black",
"isorted.float_to_top": true,
"isorted.line_length": 120
}
}
Or in isorted
subsettings:
{
"settings": {
"isorted": {
"isort_command": ["${python_interpreter}", "-m", "isort"],
"isort_on_save": true,
"profile": "django",
"dont_float_to_top": true,
"indent": " ",
"extra_builtin": ["django", "rest_framework"]
}
}
}
Or in options
section of isorted
subsettings:
{
"settings": {
"isorted": {
"isort_command": ["${python_interpreter}", "-m", "isort"],
"isort_on_save": true,
"options": {
"profile": "django",
"dont_float_to_top": true,
"indent": " ",
"extra_builtin": ["django", "rest_framework"]
}
}
}
}
Preferences
→ Package Settings
→ isorted
→ Settings
Fill user settings with options you like on the left panel:
{
"isort_command": "/usr/bin/local/isort",
"isort_on_save": true,
"options": {
"profile": "pycharm",
"multi_line": "GRID",
"ensure_newline_before_comments": true,
"known_local_folder": ["flask", "requests"]
}
}
isorted
specific optionsisort_command
: set custom location for isort
command. Can be list of strings (by default: "isort").
isort_on_save
: always run isort
before saving the file (by default: false).
Preferences
→ Package Settings
→ isorted
→ Key Bindings
:
Copy to user key bindings, uncomment, edit keys and and save:
[
{"keys": ["ctrl+alt+s"], "command": "isort_file", "scope": "source.python"}
]
Sort imports on save by isort_on_save
settings.
Open Command Panel
from menu or with ctrl+shift+p
(Mac: cmd+shift+p
) and select isorted: Format file
.
Run isort
on the current file with key bindings activated before:
Press ctrl+alt+s
(Mac: cmd+alt+s
) to sort imports in the entire file.
If there is something wrong with this plugin, add an issue on GitHub and I'll try to address it.
This plugin is inspired by Sublime text isort plugin and sublack. Thanks to @thijsdezoete and @jgirardet.
see CHANGELOG
isorted
via Package Control
.isorted
isorted
fork to your Packages
folder (Preferences
→ Browse Packages
…).Coded by Rim Valiulin @rimvaliulin.
Contributions: Stanley Chung @returnchung.
MacOS: Fix error 'You may need to install isort and/or configure 'isort_command' in isorted's settings.' on new Sublime Text startup after reboot (needs Sublime Text restart).
Add quick toggle isort_on_save
for specific file.