Sort ES6 imports for JavaScript and TypeScript automatically. Ported from the atom-import-sort package by Renke Grunwald.
Automatically sorts imports on save. You can disable this behavior in the settings and sort imports manually:
- Launch the Command Palette (
Ctrl/Cmd + Shift + P
); - Enter Sort imports
You can also save the document without saving imports. This could become handy when you have auto saving enabled, but don't want to sort the imports in a particular file:
- Launch the Command Palette (
Ctrl/Cmd + Shift + P
); - Enter Save file without sorting imports
This extension has the following settings:
sort-imports.on-save
: enable/disable auto sorting on save (default: true).sort-imports.suppress-warnings
: suppress warnings if sorting imports fails (default: false).sort-imports.languages
: selectively choose the languages which should be sported (default: ['javascript', 'typescript']).
See release notes for version 4
Styles (and parsers) can be configured on a per-project basis including support for different types of files (currently JavaScript and TypeScript).
Just add the following to your package.json
and adapt it to your liking:
"importSort": {
".js, .jsx, .es6, .es": {
"parser": "babylon",
"style": "eslint"
},
".ts, .tsx": {
"parser": "typescript",
"style": "eslint"
}
}
The keys are a list of file extensions that map to the parser and style that should be used for files that have any of the listed file extensions.
By default, sort-import
comes with these styles:
-
import-sort-style-eslint
(default): A style that that is compatible with ESLint's sort-imports rule. -
import-sort-style-module
: A style that groups and sorts by module. -
import-sort-style-module-compact
: Similar to modules but with fewer groups.
PRs with more styles are welcome.
- Implemented by @cliffkoh: Introduced
sort-imports.default-sort-style
, which defaults tomodule-compact
. Other possible values aremodule
andeslint
.
Update to ease transition from @peterjuras' extension.
sort-imports.blank-lines-after
: removed until a valid implementation is providedsort-imports.sort-type
: you can now configure your sorting type folowing with a key in yourpackage.json
. Documentationby-module-name
: is now"style": "module-compact"
by-imported-name
: is removed
- Renamed to sort-imports. Renamed config settings to slug-case.
- Fixed blank linkes after imports feature.
- Implemented by @danieloprado: Added setting to selectively choose the languages. Set
sortImports.languages
to an array of the languages that you want to be sorted, e.g.['javascript']
. - Bugfixes
- Import style
by-module-name
added. - Added support for blank lines after imports.
- Import sort style
module
is now included by default alongside theeslint
style.
- Added setting to suppress warnings. Set
sortImports.suppressWarnings
totrue
to hide warnings if sorting imports fails.
- It is now possible to customize the import sort style. Please refer to the import-sort documentation for more information.
- Added TypeScript support
- Fixed inline comments on import statements
- Thanks to @shalomdotnet for the PR!
- Added 'Save without sorting imports' command
Initial release
Developed by Peter Juras, maintained by A. Matías Quezada
- Special thanks to Renke Grunwald for creating the import-sort module!
- Icon made by Catalin Fertu from www.flaticon.com