Добавляйте фрагменты кода в vscode
Выберите «Новый файл фрагмента глобального кода» и введите имя файла (введите его небрежно).
Затем файл будет сгенерирован, а Пример в установочном файле может добавлять фрагменты кода
Значение каждого поля внутри:
"Print to console
: Название фрагмента кода, разные фрагменты кода должны быть разными, вы можете увидеть это в ярлыке ввода
scope
: Указывает язык, используемый в этом фрагменте кода, ,
разделенный кратными числами, если не написано, это означает все применимые
prefix
: Указывает строку символов для быстрого ввода, и появится подсказка для ввода содержимого.
body
: основная часть сгенерированного кода, которая будет подробно объяснена позже.
description
:описывать
"Print to console": {
"scope": "javascript,typescript,vue",
"prefix": "temp",
"body": [
"<template>",
"",
"</template>",
"<script setup lang=\"ts\">",
"",
"</script>",
],
"description": "fast template"
}
Используется в файлах Vue, введите temp
может быстро сгенерировать нужный код
Определите несколько фрагментов кода
В одном файле можно определить несколько фрагментов кода, если они соответствуют формату json, изменяют имя каждого фрагмента кода и соединяются ,
с
Подробное определение тела
Многострочный метод определения
Есть два способа написать несколько строк:
Один нужно использовать для каждой строки ""
, а затем соединить между строками ,
(как в примере)
"Print to vue": {
"scope": "javascript,typescript,vue",
"prefix": "temp",
"body": [
"<template>",
"",
"</template>",
"<script setup lang=\"ts\">",
"",
"</script>",
],
"description": "fast template"
}
Другой — использовать специальные символы \n
для разрывов строк (не рекомендуется).
специальный контент
В пользовательских фрагментах Visual Studio Code вы можете body
реализовать более гибкие фрагменты, добавив в раздел специальное содержимое. Специальный контент может быть одним из следующих:
- Заполнитель: Используйте
$1
, и другие заполнители, чтобы определить положение курсора после вставки кода$2
.$3
Например:
{
"My Placeholder": {
"prefix": "plac",
"body": [
"console.log('$1');",
"$2"
],
"description": "My custom code snippet"
}
}
2. Переменная (Переменная): используйте ${variableName}
переменную в форме, чтобы разрешить ввод при вставке кода, а несколько переменных можно изменить путем переключения вкладок. Например:
{
"My Variable": {
"prefix": "mvar",
"body": [
"const ${1:name} = ${2:value};",
"$3"
],
"description": "My custom code snippet:Variable"
}
}
3. Цикл (позиция табуляции): используйте $0
для определения последней позиции табуляции, чтобы после вставки кода курсор возвращался в эту позицию. Например:
{
"My Tab stops": {
"prefix": "myfor",
"body": [
"for (let ${1:i} = 0; $1 < ${2:array}.length; $1++) {",
"\tconst item = ${2:array}[$1];",
"\t$0",
"}"
],
"description": "My custom code snippet:for"
}
}
После сохранения файла фрагмента кода пользователя используйте ключевое слово триггера, чтобы вставить фрагмент кода в редактор и заполнить специальное содержимое по мере необходимости. Нажатие Tab
клавиши будет переключать между заполнителями и переменными, что позволит вам быстро редактировать фрагменты.
предопределенная переменная
VSCode предоставляет несколько предопределенных переменных для получения такой информации, как выделенный текст или номера строк.
переменная даты
Наиболее распространенной является переменная даты:
$CURRENT_YEAR
: Текущий год, например:2023
.$CURRENT_MONTH
: Текущий месяц (две цифры), например:08
.$CURRENT_DATE
: Текущая дата (две цифры), например:01
.$CURRENT_HOUR
: Текущий час (24-часовой формат, две цифры), например:12
.$CURRENT_MINUTE
: Текущая минута (две цифры), например:34
.$CURRENT_SECOND
: Текущая секунда (две цифры), например:56
.
Эти переменные используются для вставки текущей даты и времени во фрагменты кода, что упрощает включение такой информации, как метки времени, в комментарии к коду или другой текст.
Например, фрагмент кода, упомянутый выше:
{
"My Time": {
"prefix": "mySnippet",
"body": [
"/* Current Date: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE */",
"/* Current Time: $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND */",
"$0"
],
"description": "My custom code snippet"
}
}
При использовании этого фрагмента , , , $CURRENT_YEAR
и заменяются фактическими значениями даты и времени $CURRENT_MONTH
.$CURRENT_DATE
$CURRENT_HOUR
$CURRENT_MINUTE
$CURRENT_SECOND
Обратите внимание, что эти встроенные переменные динамически отображают текущую дату и время только при вставке фрагмента и не обновляются с течением времени.
другие встроенные переменные
В дополнение к встроенным переменным, связанным с датой и временем, Visual Studio Code предоставляет некоторые другие полезные встроенные переменные. Вот некоторые часто используемые встроенные переменные и их назначение:
$CLIPBOARD
: Содержимое буфера обмена. Может использоваться для вставки содержимого буфера обмена в фрагмент кода.$TM_SELECTED_TEXT
: текущее выбранное текстовое содержимое. Может использоваться для вставки выделенного текста в фрагменты кода.$TM_CURRENT_LINE
: содержимое текущей строки.$TM_CURRENT_WORD
: Слово в текущей позиции курсора.$TM_FILENAME
: Имя файла (включая расширение) открытого в данный момент файла.$TM_FILENAME_BASE
: Имя файла (без расширения) открытого в данный момент файла.$TM_DIRECTORY
: путь к каталогу, в котором находится текущий открытый файл.$TM_FILEPATH
: Полный путь (включая имя файла) к текущему открытому файлу.$TM_LINE_INDEX
: индекс текущей строки (считая с 0).$TM_LINE_NUMBER
: номер текущей строки (считая с 1).$TM_LINE_START
: Начальная позиция текущей строки.$TM_LINE_END
: Конечная позиция текущей строки.
Также есть несколько встроенных переменных и их описания для времени:
общий пример
Эти переменные позволяют динамически вставлять во фрагмент кода содержимое, относящееся к текущей среде редактирования, например, текущее имя файла, содержимое текущей строки и т. д. Вы можете использовать эти встроенные переменные для настройки собственных фрагментов кода, необходимых для повышения эффективности кодирования.
Вот пример использования встроенных переменных выше:
{
"Insert Info Comment": {
"prefix": "infoComment",
"body": [
"/*",
" * File: $TM_FILENAME",
" * Path: $TM_FILEPATH",
" * Directory: $TM_DIRECTORY",
" * Line: $TM_LINE_NUMBER",
" * Line Index: $TM_LINE_INDEX",
" * Current Word: $TM_CURRENT_WORD",
" * Selected Text: $TM_SELECTED_TEXT",
" * Clipboard Content: $CLIPBOARD",
" * Current Line: $TM_CURRENT_LINE",
" * Date: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE",
" * Time: $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
" */",
"$0"
],
"description": "Insert information comment"
}
}
Эффект: