У меня есть пакет библиотеки компонентов, и он используется во многих таких файлах:
import { Grid, Heading, Button } from 'component-library'
Я хочу изменить весь свой импорт примерно так:
import { Grid } from 'component-library/lib/Grid'
import { Heading } from 'component-library/lib/Heading'
import { Button } from 'component-library/lib/Button'
Я нашел в VSCode расширение для этого:
https://marketplace.visualstudio.com/items?itemName=angelomollame.batch-replacer&ssr=false#overview
И, похоже, он тоже принимает регулярное выражение. Я попытался написать регулярное выражение, чтобы найти замену старого импорта на новый, но мое регулярное выражение не работает. Это мое текущее регулярное выражение:
(?:import)\s+([\w,{}\s\*]+)\s+(?:from)?\s*(?:["'])?([@\w\s\\\/.-]+)(?:["'])?\s*
Вы можете помочь мне это исправить?
(/^\s*import\s*\{((?:\s*\w+,*)+)\s*\}\s*from\s*(['"])([^'"]*)\2\s*;*\s*$/gm)
... даст вам для группы [1] = ›'Сетка, заголовок, кнопка 'и для группы [3] = ›' component-library '... таким образом, нужно разделить пространства имен модулей первой сопоставленной группы, обрезать каждое пространство имен и предоставить синтаксис импорта для имени модуля, которое сопоставлено в 3-й группе ... Не знаю, поддерживает ли плагин возможность кастомной замены. - person Peter Seliger   schedule 01.07.2020