VS Code Snippet Generator
Создавайте пользовательские фрагменты VS Code с остановками табуляции, заполнителями и синтаксисом переменных для любого языка.
Используйте $1, $2 для табстопов; ${1:placeholder} для значений по умолчанию; $0 для финальной позиции курсора
{
"My Snippet": {
"prefix": "mysnippet",
"body": [
"console.log($1);"
],
"description": ""
}
}Об этом инструменте
Фрагменты VS Code — это переиспользуемые блоки кода, которые разворачиваются из сочетания клавиш и драматически ускоряют разработку, снижая количество повторяющихся нажатий клавиш. Вместо того чтобы вручную писать стандартный код каждый раз, когда он вам нужен, вы определяете фрагмент один раз с позициями заполнителей, отмеченными табуляциями, а затем можете сразу же вызвать его, введя короткий префикс. Фрагменты незаменимы для любого серьёзного разработчика—они экономят часы печати, снижают вероятность опечаток и обеспечивают единообразные шаблоны кодирования во всех ваших проектах.
Этот генератор фрагментов VS Code преобразует ваш код в надлежащий синтаксис фрагмента с полной поддержкой табуляций ($1, $2, $3), заполнителей для опционального текста и переменных VS Code, таких как $TM_FILENAME или $CURRENT_YEAR. Просто вставьте ваш блок кода в поле Body, отметьте позицию, куда должен перейти курсор, с помощью $1 (первая остановка), $2 (вторая остановка) и т. д., определите короткий Prefix (текст-триггер, который вы будете вводить), дайте имя вашему фрагменту и опциональное описание, затем создайте полный JSON. Вы можете скопировать результат и сохранить его в файл snippets.json в папке пользовательских фрагментов VS Code.
Созданный фрагмент работает на любом языке—установите Scope в соответствии с типом вашего файла (JavaScript, Python, Go и т. д.) или оставьте его как "All Languages" для универсального использования. Табуляции и переменные мощны: $1 создаёт первую остановку курсора после развёртывания, $0 отмечает конечную позицию, а выражения вроде ${1:defaultText} предоставляют текст по умолчанию, если вы его не переопределяете. Этот инструмент идеален для разработчиков, которые строят собственные библиотеки фрагментов, создают шаблоны кода для всей команды или автоматизируют часто используемые паттерны, такие как сигнатуры функций, HTML-заготовки или структуры вызовов API.
Часто задаваемые вопросы
Реализация кода
import json
def generate_vscode_snippet(
name: str,
prefix: str,
body: list[str],
description: str = "",
scope: str = ""
) -> dict:
snippet = {
name: {
"prefix": prefix,
"body": body,
"description": description,
}
}
if scope:
snippet[name]["scope"] = scope
return snippet
# Example: Python class snippet
snippet = generate_vscode_snippet(
name="Python Class",
prefix="cls",
body=[
"class ${1:ClassName}:",
" def __init__(self${2:, args}):",
" ${3:pass}",
"",
" def __repr__(self):",
" return f"${1:ClassName}(${4:fields})"",
],
description="Create a Python class with __init__ and __repr__",
scope="python"
)
print(json.dumps(snippet, indent=4))Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.