Typescript: 単純な文字列に対して「テンプレート文字列に変換」リファクタリングを提供しない

作成日 2020年02月13日  ·  4コメント  ·  ソース: microsoft/TypeScript


TypeScriptバージョン: 3.8.1-rc


検索ワード:

  • リファクタリング
  • リファクタリング
  • コードアクション

レポ
次のようなコードの場合

import ImageEditor from 'tui-image-editor';

文字列にカーソルを置きます

バグ:
convert to template stringリファクタリングが提供されます。 これは役に立ちません。

文字列連結式を使用している場合にのみconvert to template stringすることをお勧めします。

Bug Refactorings Fixed

最も参考になるコメント

対照的な意見として、私は実際にこの動作が役立つと思います(テンプレート文字列が合法である場合)。 年間のTS / JSを使用した後、私の筋肉の記憶になりましデフォルトは${...}ではなく+文字列へのテンプレートの値に、それの素敵はすぐにテンプレートに質問して文字列を変換することができるようにしますまだない場合は文字列。

@DanielRosenwasserによると、別の潜在的なアプローチは、問題の文字列に${が含まれている場合に提案を行うことです。 ちょっとした考え。 :slightly_smiling_face:

全てのコメント4件

テンプレート文字列が無効な特定の位置があるため、明らかにこれはばかげています-単純な文字列ではこれを無効にしても大丈夫だと思いますが、すべての文字列で有効にして無効にするかどうかを再検討する必要がありますのような無意味な位置の場合

  • インポート/エクスポート指定子
  • プロパティ名
  • 多分他のもの?

文字列連結式にカーソルを置いたときにのみ、このリファクタリングを確認したい

また、すべての文字列に電球が表示されるのはかなり面倒なので、3.8(最終リリースまたはリカバリビルドのいずれか)でこれを修正する必要があります。

対照的な意見として、私は実際にこの動作が役立つと思います(テンプレート文字列が合法である場合)。 年間のTS / JSを使用した後、私の筋肉の記憶になりましデフォルトは${...}ではなく+文字列へのテンプレートの値に、それの素敵はすぐにテンプレートに質問して文字列を変換することができるようにしますまだない場合は文字列。

@DanielRosenwasserによると、別の潜在的なアプローチは、問題の文字列に${が含まれている場合に提案を行うことです。 ちょっとした考え。 :slightly_smiling_face:

ねえ👋

@treybrisbaneの観点をサポートするための

コンテキストとして、私はJS&TSリファクタリングを提供するVSCode拡張機能の作成者です。 以前は「テンプレートリテラルに変換」を提供していました。 TypeScriptを介してエディターによって処理されるようになったため、削除しました。

ただし、以下から切り替えることは非常に有効(かつ便利)でした。

const a = "I have some apples";

const a = `I have some apples`;

内部に変数の挿入を開始します。

これはバグ修正の副作用として削除されたことを理解しています。 私たちが本当に避けたいのは、インポートなどの無効なもののリファクタリングを提案することだと思います。 私は実際に私の拡張機能にその種のチェックを実装しました。

これに関する詳細については、 https://github.com/nicoespeon/abracadabra/issues/94を確認して

詳細が必要な場合は、喜んでお手伝いさせていただきます😄
ありがとうございました!

このページは役に立ちましたか?
0 / 5 - 0 評価