microsoft / microsoft/TypeScript

source.organizeImports organizes imports to a sort order that tslint complains about

Offen
#30,430 4 Kommentare 7 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Experience Enhancement Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

Issue Type: Bug

settings:
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.organizeImports": true
}
tslint.json:
{
"extends": "tslint-microsoft-contrib",
...

Code:

import * as cp from 'child_process';
import * as fse from 'fs-extra';
import { IActionContext, parseError } from 'vscode-azureextensionui';
import { ImageNode } from '../explorer/models/imageNode';
import { ext } from '../extensionVariables';
import { docker, DockerEngineType } from './utils/docker-endpoint';
import { ImageItem, quickPickImage } from './utils/quick-pick-image';
import os = require('os');
import vscode = require('vscode');

That gives this error:
image

Auto-fixing the lint issue reorders to this code:

import * as cp from 'child_process';
import * as fse from 'fs-extra';
import os = require('os');
import vscode = require('vscode');
import { IActionContext, parseError } from 'vscode-azureextensionui';
import { ImageNode } from '../explorer/models/imageNode';
import { ext } from '../extensionVariables';
import { docker, DockerEngineType } from './utils/docker-endpoint';
import { ImageItem, quickPickImage } from './utils/quick-pick-image';

Then pressing CTRL+S to save puts it back to the first form, which causes the lint error again.

VS Code version: Code - Insiders 1.33.0-insider (d77d8d561143cc021a82664efc056755c075d070, 2019-03-11T08:47:23.627Z)
OS version: Windows_NT x64 10.0.17763

System Info
Item Value
CPUs Intel(R) Xeon(R) W-2133 CPU @ 3.60GHz (12 x 3600)
GPU Status 2d_canvas: enabled
checker_imaging: disabled_off
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
multiple_raster_threads: enabled_on
native_gpu_memory_buffers: disabled_software
rasterization: enabled
surface_synchronization: enabled_on
video_decode: enabled
webgl: enabled
webgl2: enabled
Memory (System) 31.73GB (16.54GB free)
Process Argv
Screen Reader no
VM 0%
Extensions (13)
Extension Author (truncated) Version
vscode-antlr4 mik 2.1.1
vscode-cosmosdb ms- 0.10.0
extension-manifest-editor ms- 0.1.5
azure-account ms- 0.8.0
csharp ms- 1.17.1
vscode-typescript-tslint-plugin ms- 1.0.0
azurerm-vscode-tools msa 0.5.0
vscode-docker Pet 0.5.2
vscode-sort-json ric 1.13.0
scope-info sie 0.2.0
tmcolor sle 0.0.1
sort-lines Tyr 1.8.0
win-ca uko 2.4.0

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der source.organizeImports-Codeaktion und dem im Issue gezeigten Verhalten beim Sortieren von Imports und vergleiche es dann mit der tslint-Reihenfolge, die den Fehler meldet. Reproduziere den Speichervorgang mit den bereitgestellten Einstellungen und Imports; fertig ist es, wenn das Organisieren von Imports nicht mehr sofort eine tslint-Verletzung wiederherstellt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.