Как автоматически предлагать имя класса/функции в живом шаблоне javascript?

В IntelliJ (или любом другом варианте) я пытаюсь создать «живой шаблон» для обработки стандартного кода при настройке PropTypes для компонентов React. Если у меня есть функция Blink и я хочу, чтобы для нее были настроены протипы, как я могу получить живой шаблон, в котором мне автоматически предлагается часть Blink строки Blink.propTypes? Я бы хотел, чтобы IDE догадалась об этом имени, но выделила/выбрала его, чтобы я мог переопределить его. Я застрял на части предложения, хотя.

// Existing function
function Blink(props) {
  return (
      ...
  )
}

// Manually coded propTypes
Blink.propTypes = {
    text: PropTypes.string.isRequired
};

//Simple live template, where I'd like the $NAME$ part to be smarter
$NAME$.propTypes = {
  $END$
}

person user605331    schedule 22.11.2017    source источник


Ответы (1)


Вы можете попробовать jsClassName() - кажется, здесь лучший выбор:

введите здесь описание изображения

classNameComplete() тоже подходит

person lena    schedule 22.11.2017
comment
Спасибо @лена. Ни один из них не добавляет первое имя класса предложения автоматически, но оба предлагают правильно отфильтрованный список вариантов автозаполнения для быстрого выбора (хотя я не могу сказать, является ли это обычным поведением). classNameComplete() вызывал автоматическое отображение списка автозаполнения, тогда как jsClassName() требовал, чтобы я запускал его для отображения. Итак, хотя jsClassName() читается как более подходящее, classNameComplete() ближе всего к тому, что мне нужно. Нет ли возможности автоматически вводить наилучшее предположение, не требуя от меня автозаполнения? - person user605331; 22.11.2017
comment
для меня jsClassName() автоматически вставляет Blink имя при использовании вашего фрагмента кода, позволяя выбирать другие классы из списка завершения. Это лучший вариант, который я могу предложить. - person lena; 22.11.2017
comment
Попробовал снова и, кажется, работает сейчас. Должно быть, что-то напутал при первой попытке. Спасибо! - person user605331; 25.11.2017