В этой статье я расскажу о наборе сокращений кода VS, которые мне нравятся, например, emmet, пользовательских фрагментах кода и расширениях, которые помогают мне ускорить мою веб-разработку.
Эммет
Emmet — это действительно мощный инструмент, уже встроенный в ваш код VS, который может помочь вам написать много строк HTML-кода в одной строке. Давайте посмотрим, как быстро мы можем добавить один тег div с классом Container, используя сочетания клавиш emmet.
Все, что нам нужно сделать, это ввести: .container (а затем нажать Tab или Enter)
И вуаля, у вас будет тег div с классом контейнера.
И лучше всего то, что ваш курсор будет прямо между открывающим и закрывающим тегом.
Теперь предположим, что я хочу добавить «div», но на этот раз мне нужен «id» «контейнера» вместо класса.
Все, что нам нужно сделать, наберите: #container (а затем нажмите Tab или Enter)
Теперь мне нужен div с идентификатором и несколькими классами. Есть предположения?
Все, что нам нужно сделать, наберите: #id.class_1.class_2 (а затем нажмите Tab или Enter)
Теперь предположим, что вместо div мне нужен тег section или один из моих пользовательских компонентов Angular/React/Vue/etc.
Все, что нам нужно сделать, введите: My-custom-conponent#id.className (а затем нажмите Tab или введите)
Это будет работать для любого тега, который вы хотите - › ‹form›, ‹link›, ‹ui› и т. д.
Для определенных тегов HTML, таких как img, ссылка emmet уже добавит реквизиты для вас,
Пример: img (нажмите Enter или Tab)
И курсор на этот раз будет указывать на реквизит, и при заполнении значения src для img я могу просто нажать вкладку, и курсор переместится на alt.
Добавление пользовательских реквизитов в тег:
Теперь предположим, что у меня есть пользовательский компонент с пользовательским реквизитом, как я могу использовать emmet?
Мой-пользовательский-компонент[myCustomProp="реквизит"]
Не беспокойтесь о пользовательских компонентах с пользовательскими реквизитами, мы вернемся к этой теме в пользовательских фрагментах кода VS.
Как сделать, чтобы мы добавили несколько строк HTML-кода одной строкой?
Что ж, здесь все становится интереснее, вы можете комбинировать ярлыки emmet для создания большого фрагмента HTML-кода. Мы объединяем ярлыки emmet, используя «›» (дочерний элемент) и «+» (родной брат)
т. е. объединение любых двух сочетаний клавиш emmet, которые мы узнали выше, с «+» создаст два родственных тега, а выполнение этого с «›» создаст первый как родительский, а второй как дочерний.
Давайте потренируемся: я хочу написать тег section с классом «контейнер», у которого есть два потомка —> div с заголовком класса и тег p с описанием класса:
section.container›div.header+p.description
Курсор уже находится в первом теге div, и после добавления значения я могу просто нажать вкладку, и курсор сразу перейдет к тегу p.
Но можем ли мы записать значение тега div innerHTML в самом ярлыке? Да, мы можем, разве это не гениально. Все, что вам нужно сделать, это добавить {innerHTML} после тега div.
section.container›.header{Моя страница}+p.description{Это моя страница}
Давайте умножим
Допустим, я хочу добавить тег пользовательского интерфейса с тремя тегами li в нем, с тегами привязки в каждом из них и пользовательскими ссылками внутри него.
ui.list›(li.list-item›a:ссылка)*3
Вы можете использовать * для умножения и создания нескольких ярлыков и квадратных скобок «()».
лорем ипсум
Иногда мы хотим добавить фиктивный текст, чтобы заполнить наш HTML фиктивными данными, скажем, я хочу добавить около 10 строк фиктивных данных в моем описании.
section.container›.header+.description*10›lorem20
просто добавление lorem добавит весь фиктивный текст lorem ipsum, lorem20 создаст только первые 20 слов фиктивного текста lorem ipsum.
На этом заканчиваются наиболее распространенные сочетания клавиш emmet, которые я использую для ускорения своего HTML-кода. Вы можете посетить здесь, чтобы получить больше сочетаний клавиш и информацию о emmet.
Теперь все, что вам нужно сделать, чтобы ускорить свое развитие, — это практиковаться, практиковаться и практиковаться, и вы освоите emmet.
Пользовательские фрагменты
Теперь у нас много повторений в нашем коде HTML и JS с небольшими вариациями. Мы можем ускорить процесс, написав собственные фрагменты в нашем проекте кода VS.
Как создать сниппет в коде VS?
Перейти к | предпочтения: настроить пользовательские фрагменты
в Mac: | (команда + шифт + P) -> набрать сниппет -> ввести
Создайте новый файл фрагмента. Вы можете создавать глобальные сниппеты для всех своих проектов, но мне нравится создавать сниппеты для каждого проекта, так я могу быть более конкретным с каждым сниппетом. Создание нового файла фрагмента в вашем локальном проекте приведет к созданию файла ‹fileName›.code-snippets в папке .vscode вашего проекта.
Файл .code-snippet — это не что иное, как объектный файл json, в котором вы можете объявить все свои фрагменты.
привет фрагменты
Давайте посмотрим на простой фрагмент
«Добавить тип действия по умолчанию»: это не что иное, как ключ нашего фрагмента.
«scope»: где нам нужен этот фрагмент? в данном случае у нас есть javascript, typesctipt, также может быть css или html.
«префикс»: что нам нужно ввести в коде VS, чтобы вызвать этот фрагмент.
«тело»: на самом деле это тело сниппета, которое будет вставлено в код после нажатия табуляции или ввода после ввода вышеуказанного префикса.
«описание»: когда вы вводите префикс, вы можете увидеть это описание во всплывающей подсказке в коде VS.
${1:actionType}: Пользовательский ввод в теле фрагмента со значением по умолчанию actionType, здесь будет находиться ваш курсор после добавления тела фрагмента в файл. После добавления этого значения вы можете нажать вкладку, и она перейдет к следующему пользовательскому вводу (в нашем случае это ${2:actionPrefix).
Давайте попробуем
Вы можете добавить свои типы действий, действия, эффекты, пользовательские компоненты и т. д. во фрагменты кода и еще больше ускорить процесс разработки. Опять же, практика делает совершенным. Дайте мне знать, какие фрагменты вам нравятся больше всего и сколько времени они в конечном итоге сэкономят вам.
Фрагмент пользовательских компонентов
Как мы говорили выше в руководстве по emmet, мы можем написать пользовательский компонент с его пользовательскими реквизитами, используя только emmet, но мы можем еще больше ускорить его, используя пользовательские фрагменты.
Допустим, у меня есть пользовательский компонент кнопки, который выглядит примерно так:
Мы можем написать собственный фрагмент для него следующим образом:
И вуаля, у нас есть собственный фрагмент кнопки, нам больше не нужно использовать emmet для этого, так как делать это с помощью этого пользовательского фрагмента будет намного быстрее. Я могу добавить тип кнопки, размер, стиль, дескриптор щелчка и текст на кнопке, просто набрав и нажав вкладку, чтобы перейти к следующему полю.
\t добавит пустое место (это не обязательно, вы всегда можете использовать более красивое расширение и активировать его после добавления кнопки в файл HTML)
Лучшие расширения кода VS
Я использую эти расширения каждый день, чтобы еще больше ускорить процесс разработки.
› TabNine: «Tabnine — это мощный помощник на основе искусственного интеллекта, призванный помочь вам писать код быстрее, уменьшить количество ошибок и узнать о лучших методах кодирования, не выходя из удобного VSCode». (Одна небольшая проблема, с которой я столкнулся, заключается в том, что это расширение довольно тяжелое и съедает оперативную память, как и все остальное. Но все же прогнозы на высшем уровне)
›Bracket Pair Colorizer: этот цвет кодирует скобки и действительно помогает в процессе просмотра.