Typescript: Bieten Sie für einfache Zeichenfolgen kein Refactoring "In Vorlagenzeichenfolge konvertieren" an

Erstellt am 13. Feb. 2020  ·  4Kommentare  ·  Quelle: microsoft/TypeScript


TypeScript-Version: 3.8.1-rc


Suchbegriffe:

  • Refactor
  • Refactoring
  • Codeaktionen

Repo
Für Code wie

import ImageEditor from 'tui-image-editor';

Platzieren Sie den Cursor auf der Zeichenfolge

Fehler:
Ein convert to template string Refactoring wird angeboten. Das ist nicht hilfreich.

Ich schlage vor, dass wir convert to template string nur

Bug Refactorings Fixed

Hilfreichster Kommentar

Nur als kontrastierende Meinung finde ich dieses Verhalten tatsächlich nützlich (in Fällen, in denen Vorlagenzeichenfolgen legal wären). Nachdem ich TS / JS jahrelang verwendet habe, ist mein Muskelgedächtnis jetzt standardmäßig auf ${...} anstatt auf + um Werte in Zeichenfolgen umzuwandeln, und es ist schön, die betreffende Zeichenfolge schnell in eine Vorlage konvertieren zu können Zeichenfolge in Fällen, in denen dies noch nicht geschehen ist.

Das heißt, @DanielRosenwasser , ein anderer möglicher Ansatz könnte darin bestehen, den Vorschlag zu machen, wenn die fragliche Zeichenfolge ${ . Nur ein Gedanke. : leicht_smiling_face:

Alle 4 Kommentare

Das ist natürlich albern, weil es bestimmte Positionen gibt, an denen eine Vorlagenzeichenfolge nicht gültig ist. Ich denke, es wäre wahrscheinlich in Ordnung, dies für einfache Zeichenfolgen zu deaktivieren, aber wir sollten erneut prüfen, ob wir sie für alle Zeichenfolgen aktivieren und deaktivieren möchten für unsinnige Positionen wie

  • Import / Export-Spezifizierer
  • Eigenschaftsnamen
  • Vielleicht andere Sachen?

Ich würde es vorziehen, dieses Refactoring nur zu sehen, wenn sich der Cursor auf einem String-Verkettungsausdruck befindet

Außerdem möchten wir dies wahrscheinlich für 3.8 beheben (entweder für die endgültige Version oder in einem Wiederherstellungs-Build), da es ziemlich ärgerlich ist, wenn die Glühbirne für jede Zeichenfolge angezeigt wird

Nur als kontrastierende Meinung finde ich dieses Verhalten tatsächlich nützlich (in Fällen, in denen Vorlagenzeichenfolgen legal wären). Nachdem ich TS / JS jahrelang verwendet habe, ist mein Muskelgedächtnis jetzt standardmäßig auf ${...} anstatt auf + um Werte in Zeichenfolgen umzuwandeln, und es ist schön, die betreffende Zeichenfolge schnell in eine Vorlage konvertieren zu können Zeichenfolge in Fällen, in denen dies noch nicht geschehen ist.

Das heißt, @DanielRosenwasser , ein anderer möglicher Ansatz könnte darin bestehen, den Vorschlag zu machen, wenn die fragliche Zeichenfolge ${ . Nur ein Gedanke. : leicht_smiling_face:

Hey da 👋

Ein schnelles Heads-up zur Unterstützung der Sichtweise von @treybrisbane .

Für den Kontext bin ich der Autor einer VS-Code-Erweiterung, die JS & TS-Refactorings bereitstellt. Früher haben wir "In Vorlagenliteral konvertieren" bereitgestellt. Wir haben es entfernt, da es jetzt vom Editor über TypeScript verarbeitet wird.

Es war jedoch sehr gültig (und praktisch), von:

const a = "I have some apples";

zu

const a = `I have some apples`;

So beginnen Sie mit dem Einfügen von Variablen.

Ich verstehe, dass dies als Nebeneffekt einer Fehlerbehebung fallengelassen wurde. Ich denke, was wir wirklich vermeiden wollen, ist das Refactoring für ungültige Dinge wie Importe vorzuschlagen. Ich habe diese Art der Überprüfung tatsächlich in meiner Erweiterung implementiert.

Weitere Informationen hierzu finden Sie unter https://github.com/nicoespeon/abracadabra/issues/94 .

Wenn Sie weitere Informationen benötigen, helfe ich Ihnen gerne weiter 😄
Vielen Dank!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

dlaberge picture dlaberge  ·  3Kommentare

zhuravlikjb picture zhuravlikjb  ·  3Kommentare

siddjain picture siddjain  ·  3Kommentare

manekinekko picture manekinekko  ·  3Kommentare

DanielRosenwasser picture DanielRosenwasser  ·  3Kommentare