Автоимпорт компонентов VueJs при кодировании в SublimeText

Есть ли способ автоматически импортировать компонент VueJs внутри другого, пока я кодирую SublimeText 3?

Например, представьте, что у меня есть файл MyComponent.vue:

<template>
  <page-header
    :title = "$t('title')"
    :count = "playerSelector.total"
    :subtitle = "$t('subtitle', playerSelector.total)"
    hide-search
  >
  ...
</template>
<script>
import PageHeader from '@/lib/components/PageHeader'; // automatically add this line

export default {
  name: 'MyComponent',
  ...

В этом примере у меня есть компонент MyComponent, который импортирует другой пользовательский компонент <page-header> ... поэтому я хотел знать, как добавить оператор импорта import PageHeader from '@/lib/components/PageHeader';, не вводя его каждый раз.

Я пробовал установить плагины ImportJs и AutoImport для Sublime, но, насколько я понимаю, они работают только для файлов .js или .ts. Есть ли способ сделать это, кроме файлов .vue?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
24
1

Ответы 1

Выберите Tools → Developer → New Snippet… и измените его содержимое на следующее:

<snippet>
    <content><![CDATA[
import PageHeader from '@/lib/components/PageHeader'
]]></content>
    <!-- Optional: Set a tabTrigger to define how to trigger the snippet -->
    <tabTrigger>iph</tabTrigger>
    <!-- Optional: Set a scope to limit where the snippet will trigger -->
    <scope>source.javascript, text.html.vue</scope>
</snippet>

Нажмите CtrlS (S на Mac), чтобы сохранить, который автоматически откроется в вашей папке Packages/User. Каталог Packages открывается при выборе Preferences → Browse Packages…:

  • Linux: ~/.config/sublime-text-3/Packages
  • OS X: ~/Library/Application Support/Sublime Text 3/Packages
  • Обычная установка Windows: C:\Users\YourUserName\AppData\Roaming\Sublime Text 3\Packages
  • Переносимая установка Windows: InstallationFolder\Sublime Text 3\Data\Packages

Сохраните файл как iph.sublime-snippet, и все. Теперь, когда вы редактируете файл .vue (при условии, что вы используете плагин подсветки синтаксиса Vue, например Vue Syntax Highlight), введите iph и нажмите Tab, и фрагмент будет вставлен. См. здесь для получения дополнительной информации о фрагментах в Sublime Text.


РЕДАКТИРОВАТЬ

Теперь у меня есть лучшее представление о том, что вы хотите - автозаполнение для установленных компонентов Vue. В этом случае попробуйте плагин Language Server Protocol LSP-vue, который также требует плагина LSP и Vue Syntax Highlight. Как только вы все настроите правильно (убедитесь, что вы прочитали все документацию!), У вас должен быть доступ к автозаполнению, линтингу, форматированию кода, навигации по коду и многому другому.

Хороший! Но это применимо только к указанному компоненту, в примере «Заголовок страницы», это правильно? Я искал способ импортировать любой компонент в другой без ввода. Как компонент автозаполнения / автоимпорта.

Arthur Borba 05.04.2021 21:53

@ArthurBorba, пожалуйста, посмотрите мой отредактированный ответ выше. LSP и LSP-vue должны помочь.

MattDMo 06.04.2021 18:02

Что ж, я, может быть, добираюсь туда ... Я установил все плагины, и теперь, когда я начинаю набирать "import ....", я получаю это на панели sublime: "Vetur error 'import ... =' can only использоваться в файлах TypeScript ". Я ищу об этом, но он действительно углубляется в другие вещи. В настоящее время я работаю с Vue2, Vue-Cli и не использую Typescript в этом проекте.

Arthur Borba 07.04.2021 17:30

Другие вопросы по теме