Версия TypeScript: 3.8.1-rc
Условия поиска:
Репо
Для кода, такого как
import ImageEditor from 'tui-image-editor';
Поместите курсор на строку
Ошибка:
Предлагается рефакторинг convert to template string
. Это бесполезно.
Я предлагаю отображать convert to template string
случае, если вы используете выражение конкатенации строк.
Очевидно, что это глупо, потому что есть определенные позиции, в которых строка шаблона недействительна - я думаю, что, вероятно, было бы нормально отключить это для простых строк, но мы должны вернуться к тому, хотим ли мы включить его для всех строк и отключить для бессмысленных позиций вроде
Я бы предпочел видеть этот рефакторинг только тогда, когда курсор на выражении конкатенации строк
Кроме того, мы, вероятно, захотим исправить это для версии 3.8 (либо для окончательной версии, либо в сборке для восстановления), поскольку довольно неприятно, когда лампочка появляется для каждой строки
Подобно противоположному мнению, я нахожу такое поведение полезным (в случаях, когда строки шаблонов допустимы). После многолетнего использования TS / JS моя мышечная память теперь по умолчанию имеет значение ${...}
а не +
для значений шаблона в строки, и приятно иметь возможность быстро преобразовать рассматриваемую строку в шаблон строка в тех случаях, когда ее еще нет.
Тем не менее, @DanielRosenwasser , другой потенциальный подход может заключаться в том, чтобы сделать предложение, если рассматриваемая строка содержит ${
. Просто мысль. : Little_smiling_face:
Привет
Быстрое предупреждение в поддержку точки зрения
Что касается контекста, я являюсь автором расширения VS Code, которое обеспечивает рефакторинг JS и TS. Раньше мы предоставляли «Преобразовать в шаблонный литерал». Мы удалили его, так как теперь он обрабатывается редактором через TypeScript.
Однако было очень правильно (и удобно) переключиться с:
const a = "I have some apples";
к
const a = `I have some apples`;
Чтобы начать вставлять переменные внутрь.
Я так понимаю, это было удалено как побочный эффект исправления ошибки. Я думаю, что мы действительно хотим избежать предложения рефакторинга для недопустимых вещей, таких как импорт. Я действительно реализовал такую проверку в своем расширении.
Вы можете проверить https://github.com/nicoespeon/abracadabra/issues/94, чтобы узнать больше об этом.
Если вам нужны подробности, буду рад помочь 😄
Спасибо!
Самый полезный комментарий
Подобно противоположному мнению, я нахожу такое поведение полезным (в случаях, когда строки шаблонов допустимы). После многолетнего использования TS / JS моя мышечная память теперь по умолчанию имеет значение
${...}
а не+
для значений шаблона в строки, и приятно иметь возможность быстро преобразовать рассматриваемую строку в шаблон строка в тех случаях, когда ее еще нет.Тем не менее, @DanielRosenwasser , другой потенциальный подход может заключаться в том, чтобы сделать предложение, если рассматриваемая строка содержит
${
. Просто мысль. : Little_smiling_face: