microsoft / microsoft/TypeScript

extract function including traling comment that is not selected

Offen
#54,126 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Domain: LS: Refactorings Experience Enhancement Help Wanted Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.4k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
117

Beschreibung

Bug Report

extract function including traling comment that is not selected

🔎 Search Terms
🕗 Version & Regression Information
  • This is a bug in 4.3.2-latest version
    When I use 'extract to method in class C' in following code, the selected region does not contain comment '/end/', but when I excecute 'extract to method in class C', the extractd method contains comment '/end/'. Is this a bug?I think it would better comment not selected appear in newMethod.
⏯ Playground Link

Playground link with relevant code

💻 Code
class C{
  a() {
    let z =1;
    /*start*/let a1= {x:1};
    let y =10;
    z=42
    return a1.x+ 10 /*end*/
  }
}
🙁 Actual behavior
class C{
  a() {
    let z = 1;
    /*start*/
    let __return;
    ({ __return, z } = this.newMethod(z));
    return __return; /*end*
  }
  private newMethod(z: number) {
    let a1 = { x: 1 };
    let y = 10;
    z = 42;
    return { __return: a1.x + 10 /*end*/
    , z };
  }
}
🙂 Expected behavior
class C{
  a() {
    let z = 1;
    /*start*/
    let __return;
    ({ __return, z } = this.newMethod(z));
    return __return; /*end*/
  }

  private newMethod(z: number) {
    let a1 = { x: 1 };
    let y = 10;
    z = 42;
    return { __return: a1.x + 10 , z };
  }
}

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

Reproduziere das extract-to-method-Verhalten aus dem verlinkten TypeScript Playground anhand des bereitgestellten Beispiels mit class C und vergleiche den ausgewählten Bereich mit der generierten Methode. Verfolge den Einstiegspunkt des extract-function-Refactorings und füge eine Abdeckung für den nachgestellten Kommentar hinzu; abgeschlossen ist die Aufgabe, wenn der Kommentar bei der ursprünglichen return-Anweisung bleibt, statt in der extrahierten Methode zu erscheinen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 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.