В январе 2022 года в P42 JavaScript Assistant for Visual Studio Code было внесено много изменений:
Пользовательский интерфейс
Боковая панель предложений
Боковая панель P42 теперь содержит панель с предложениями по рефакторингу для содержимого активного в данный момент редактора. Вы можете получить более подробную информацию о предложениях и применить их непосредственно на панели. С P42 Pro вы также можете применить все безопасные рефакторинги одним нажатием кнопки.
Предупреждения безопасности при массовом рефакторинге
При проведении массового рефакторинга крайне важно проверять изменения перед фиксацией. Выходные данные массового рефакторинга теперь содержат список измененных файлов и любые предупреждения о безопасности для рефакторинга, которые были применены, чтобы вам было легче обнаруживать потенциальные проблемы.
Конфигурация
Настройки предложения по рефакторингу
Есть ли предложения по рефакторингу, которые, по вашему мнению, должны быть предупреждениями или ошибками? Вы хотите отключить некоторые подсказки, которые вас раздражают?
С помощью новых настроек предложений по рефакторингу вы можете установить разные уровни серьезности диагностики и отключить предложения по рефакторингу.
Шаблоны исключения пути
Репозитории часто сложны, и может быть много файлов, которые вы хотите исключить из массовых рефакторингов P42 и предложений по рефакторингу. Общие примеры включают модули узлов, дистрибутивные и выходные файлы, файлы конфигурации и сторонний код, зарегистрированный в репозитории.
С помощью новых шаблонов исключенных путей вы можете настроить список шаблонов путей в файле p42.toml
, которые должны быть исключены. Вот пример:
excludedPathPatterns = [
"**/node_modules/**",
"**/dist/**",
"some/other/directory/**",
"**/generateConfig.js"
]
Рефакторинг
Работа со строками и шаблонными литералами
- Новое — Преобразовать строку в литерал шаблона: преобразование строки в литерал базового шаблона без выражений.
- Новое — Преобразовать литерал шаблона в строку: преобразование простого литерала шаблона без выражений в строку.
Работа с циклами
- Новое — Преобразовать цикл в For с индексной переменной: заменить for…of на обычный цикл for с индексной переменной.
- Улучшено — Преобразовать цикл в .forEach() поддерживает преобразование из
for..of
циклов и автоматически вводит переменную элемента, если она не существует. - Улучшено — Преобразовать цикл в for..of автоматически вводит переменную элемента, если она не существует.
Упрощение и удаление IIFE/IIAF
Немедленно вызываемые функциональные выражения (IIFE) и немедленно вызываемые стрелочные функции (IIAF) распространены в старом коде, чтобы скрыть состояние в замыканиях, защитить область объявлений var
, псевдонимы глобальных переменных и переменные цикла доступа из асинхронных функций.
С введением в ES6 области действия блока let
и const
многие варианты использования устарели. P42 может помочь вам удалить старые версии безопасности IIFE.
- Новое — Удалить IIFE/IIAF: удаление IIFE и IIAF без параметров.
- Новое — Поместить параметр в IIFE/IIAF: поместить параметр IIFE или IIAF в тело его функции.
Модернизация использования Lodash
С введением различных помощников для коллекций и нового синтаксиса в ES6 и более поздних версиях JavaScript многие функции Lodash стали частично или полностью избыточными.
В январе в P42 Pro было добавлено несколько рефакторингов, которые помогут вам модернизировать старый код Lodash:
- Новое — Заменить _.filter на Array.filter
- Новое — Заменить _.map на Array .map
- Новое — Заменить _.some на Array.some
- Новое — Заменить _.every на Array.every
- Новое — Заменить _.noop функцией стрелки
Это все новые функции и обновления с января 2022 года. Если вы хотите узнавать о новых функциях, как только они будут опубликованы, вы можете подписаться на @p42ai в Твиттере.
Удачного кодирования!