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)、可选文本的占位符,以及 $TM_FILENAME 或 $CURRENT_YEAR 等 VS Code 变量。只需将代码块粘贴到 Body 字段,用 $1(第一个停留点)、$2(第二个停留点)等标记光标应该跳转的位置,定义短的 Prefix(你要输入的触发文本),给你的代码片段起个名称和可选的描述,然后生成完整的 JSON。你可以复制输出并将其保存到 VS Code 用户代码片段文件夹中的 snippets.json 文件。
生成的代码片段适用于任何语言——将 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.