Visual Studio Code - Führen Sie Autofix aus, um diese Importe zu sortieren! beim ESLint simple-import-sort/imports-Plugin in TypeScript
Eslint behebt automatisch und bereinigt bisher meinen Code. Aber jetzt habe ich diese beiden Eslint-Plugins hinzugefügt:
"eslint-import-resolver-typescript": "^3.5.2",
"eslint-plugin-import": "^2.26.0",
- https://github.com/lydell/eslint-plugin-simple-import-sort
Ich habe sie in .eslintrc.json im rules-Abschnitt verwendet:
"simple-import-sort/imports": [
"error",
{
"groups": [
[
"^(assert|buffer|child_process|cluster|console|constants|crypto|dgram|dns|domain|events|fs|http|https|module|net|os|path|punycode|querystring|readline|repl|stream|string_decoder|sys|timers|tls|tty|url|util|vm|zlib|freelist|v8|process|async_hooks|http2|perf_hooks)(/.*|$)"
],
["^\\w"],
["^@"],
["^\\u0000"],
["^\\.\\.(?!/?$)", "^\\.\\./?$"],
["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"]
]
}
],
"simple-import-sort/exports": [
"error",
{
"groups": [
[
"^(assert|buffer|child_process|cluster|console|constants|crypto|dgram|dns|domain|events|fs|http|https|module|net|os|path|punycode|querystring|readline|repl|stream|string_decoder|sys|timers|tls|tty|url|util|vm|zlib|freelist|v8|process|async_hooks|http2|perf_hooks)(/.*|$)"
],
["^\\w"],
["^@"],
["^\\u0000"],
["^\\.\\.(?!/?$)", "^\\.\\./?$"],
["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"]
]
}
],
"import/first": "error",
"import/newline-after-import": "error",
"import/no-duplicates": "error"
Ich habe auch:
"plugins": [
"@typescript-eslint",
"import",
"simple-import-sort"
],
Warum werden beim Speichern die Importe trotzdem nicht automatisch korrigiert?
Meine .vscode/settings.json sieht so aus, was das Korrigieren beim Speichern ermöglicht:
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"eslint.format.enable": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": ["javascript", "typescript"],
"eslint.nodePath": "./node_modules/eslint",
"eslint.packageManager": "npm"
}
Antwort #1
Wenn Sie möchten, dass esLint in einem Commit über Ihren Code ausgeführt wird, rufen Sie npx eslint . --fix auf.
Dies wird eslint ausführen und versuchen, alle möglichen Probleme (wie Importsortierung) zu beheben, die es kann.
In meiner vsCode settings.json habe ich Folgendes:
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.ignoreUntitled": true,
"eslint.validate": ["javascript", "typescript"],
"eslint.format.enable": true,
"eslint.run": "onSave",
Dies wird dann eslint beim Speichern ausführen, um Probleme wie Importe oder let => const zu korrigieren
Stellen Sie also sicher, dass VScode aktualisiert ist; unter Ubuntu musste die App aktualisiert werden, um dies zum Laufen zu bringen.
