С февраля P42 JavaScript Assistant for Visual Studio Code значительно вырос и содержит более 90 помощников по коду и рефакторингов. Пользовательский интерфейс был улучшен на основе отзывов, а помощник JavaScript теперь поддерживает Vue.js. Вот подробности:
Поддержка Vue.js (P42 Pro)
Теперь вы можете использовать помощники по коду, рефакторинг и предложения помощника JavaScript P42 внутри .vue
файлов, а массовые рефакторинги обновляют .vue
файлов.
Пользовательский интерфейс
Горячие клавиши
Помощник JavaScript имеет разные сочетания клавиш по умолчанию для контекстных меню помощника по коду и сочетание клавиш контекстного меню перемещение. Теперь вы можете добавлять собственные сочетания клавиш для любого помощника по коду P42.
Дисплей и панель предложений
Предложения по рефакторингу P42 отображаются в виде подсказок внутри редактора (подчеркнуты тремя точками) по умолчанию, а боковая панель предложений выделяет соответствующий код при наведении курсора. Когда вы нажимаете на выбранный элемент на боковой панели, редактор прокручивается до нужного места.
Массовый рефакторинг (P42 Pro)
Диалог массовый рефакторинг стал удобнее. Вы можете выполнить поиск по описанию и деталям, например, чтобы найти все модернизации ES2015, а рефакторинги отсортированы по алфавиту.
Выходные данные массового рефакторинга проще для понимания и содержат больше информации. Он включает шаблоны исключения файлов, индикатор выполнения для каждых 50 проанализированных файлов и общее время рефакторинга в секундах.
Конфигурация
Целевая версия ECMAScript
Вы можете указать целевую версию ECMAScript в конфигурационном файле P42. Модернизация кода, для которой потребуются более новые версии ECMAScript, скрывается при настройке более старой целевой версии.
Скрыть перекрывающиеся кодовые действия
Помощник JavaScript P42 предоставляет помощники по коду, которые отражают и расширяют функциональные возможности помощников по коду, поставляемых с Visual Studio Code. Теперь вы можете настроить видимость перекрывающихся помощников по коду.
Помощь с кодом и рефакторинг
Работа с переменными
- Новое — Разделить объявление и инициализацию переменной: отделить инициализацию переменной от ее объявления.
- Новый — Объединить объявление переменной и инициализацию: преобразовать начальное назначение переменной в инициализатор объявления.
- Новое — Заменить существующей переменной: замена выражения существующей переменной (P42 Pro).
- Новое — Вставить объявление переменной в начальное значение: вставляет переменную, инициализированную другой переменной, в объявление этой переменной (P42 Pro).
- Новое — Удалить неиспользуемую переменную: удалить переменную, которая не читается и не записывается.
- Улучшено — Извлечь переменную предлагает лучшие имена переменных при извлечении идентификаторов и выражений доступа к свойствам и автоматически создает блоки при необходимости.
Работа с деструктурирующими выражениями
- Новое — Преобразовать в деструктурирующее присваивание: преобразование объявления переменной, которая обращается к свойству объекта, в деструктурирующее присваивание.
- Создать — Объединить в предыдущее назначение деструктурирования: Объединить назначение деструктурирования объекта с его предыдущим одноуровневым элементом.
- Новое — Свойство rest/spread массива Flatten: объедините выражение
...[]
с литералом внешнего массива или выражением деструктурирования (P42 Pro).
Работа с классами
- Новое — Переместить инициализацию поля в конструктор: перемещает назначение начального значения поля в конструктор класса (P42 Pro).
- Новое — Переместить инициализацию в объявление поля: перемещает назначение начального значения поля в объявление поля (P42 Pro).
Работа с функциями
- Новый — Преобразовать именованную функцию в функциональное выражение: Преобразует именованную функцию в константное объявление с функциональным выражением.
- Новое — Представить ранний возврат/продолжение: изменение оператора if на оператор раннего возврата или продолжения (P42 Pro).
Работа с циклами и массивами
- Новое — Преобразовать цикл в .map(): преобразование цикла с
.push()
в вызов.map()
(P42 Pro). - Новое — Замените .each и.forEach на array.forEach: замените Lodash
_.each
и_.forEach
наarray.forEach
(P42 Pro). - Улучшено — Преобразовать array.indexOf() в array.includes() преобразует проверки исключения в
!array.includes(..)
. - Улучшено — Преобразовать цикл в for…of поддерживает преобразование
anArray.forEach
в цикл for…of.
Работа с условными выражениями
- Новый — Преобразовать && в оператор if: Преобразовать
condition && aFunction();
и подобные операторы выражений в операторы if. - Улучшено — Разделить оператор if поддерживает разделение на
||
. - Улучшено — Flip operator поддерживает
+
,*
и бинарные операторы.
Работа со строкой и шаблонами
- Новое — Преобразовать цепочку сравнения строк в array.includes: заменить значение
|| value === 'aString'`` and
&& на !== 'aString'chains with `array.includes()
. - Улучшено — Извлечь выделенный текст в переменную поддерживает извлечение текста и включенных выражений из литералов шаблона.
- Улучшено — Встроено в шаблон поддерживает встраивание литералов шаблона в литералы шаблона.
Другие кодовые действия
- Новое — Удалить console.log: удалить инструкцию
console.log
. - Новое — Заменить void 0 на undefined: заменить
void 0
и другие постоянные выраженияvoid
на undefined. - Новое — Выбрать вхождения выражения: запуск выделения несколькими курсорами нескольких вхождений одного и того же выражения (P42 Pro).
- Улучшено — рефакторинг переместить оператор из if-else заменен новыми Убрать повторяющийся первый оператор из if-else и Переместить повторяющийся последний оператор. вне рефакторинга if-else».
Вы можете подписаться на @p42ai в Твиттере, чтобы получать уведомления о новых функциях.
Удачного кодирования!